Linux - 最後の2つのファイルの自動削除

Linux - 最後の2つのファイルの自動削除

Linuxでは、毎朝1つのフォルダが作成され、そのフォルダに5つのファイルが作成されます。

一日の終わりに(真夜中)、フォルダ内の最後の2つのファイルを削除する必要があります。どうすればいいですか?

ベストアンサー1

この情報を知らなくても、このコマンドを使用してディレクトリ内の最後の2つのファイルを選択して削除できます。これは、最後の2つのファイルを変更または削除すると仮定します。

$ ls -t | head -n 2 | xargs rm -f

はい

私にこのようなファイルがあるとしましょう。

$ seq 5 | xargs -n 1 touch
$ ls -ltr
total 0
-rw-rw-r--. 1 saml saml 0 Jun  5 04:01 1
-rw-rw-r--. 1 saml saml 0 Jun  5 04:01 2
-rw-rw-r--. 1 saml saml 0 Jun  5 04:01 3
-rw-rw-r--. 1 saml saml 0 Jun  5 04:01 4
-rw-rw-r--. 1 saml saml 0 Jun  5 04:01 5

を使用すると、ls -t | head -n 2最後に変更された2つのファイルが提供されます。

$ ls -t | head -n 2
5
4

転送してxargs rm -f削除できます。

$ ls -t | head -n 2 | xargs rm -f
$ ls -tr
total 0
-rw-rw-r--. 1 saml saml 0 Jun  5 04:01 1
-rw-rw-r--. 1 saml saml 0 Jun  5 04:01 2
-rw-rw-r--. 1 saml saml 0 Jun  5 04:01 3

おすすめ記事