最新のフォルダのみを維持しながら、サブフォルダを見つけて削除します。

最新のフォルダのみを維持しながら、サブフォルダを見つけて削除します。

特定のフォルダから最後に作成されたサブフォルダを除いて、すべてのサブフォルダを削除する自動化された方法を設定しようとしています。

たとえば、3つの最新のサブフォルダだけを保持し、他のすべてのサブフォルダを削除したいとします。

与えられたフォルダを想像してみてください。

/some/specific/folder
    /subfolder1
    /subfolder2
    /subfolder3
    /subfolder4
    /subfolder5
    /subfolder6
    /subfolder7
    /subfolder8
    /subfolder9
    /subfolder10

サブフォルダをすべて削除したいのですがsubfolder8subfolder9subfolder10...

これでアーカイブしたいファイルのリストを管理しました。しかし、シェルコマンドでファイルを「反転」する方法は?

cd /some/specific/folder/
ls -tr | head -3

# Gives the following result
subfolder8
subfolder9
subfolder10

# And I am looking for the following :
subfolder1
subfolder2
subfolder3
subfolder4
subfolder5
subfolder6
subfolder7

どんなアイデアがありますか?

ベストアンサー1

ls -tr | head -3 アーカイブする正しい3つのフォルダが用意されている場合は、他のすべてのls -tr | tail -n +4フォルダも提供されます(最初の3行はスキップ)。

おすすめ記事