30日後のディレクトリのファイルを削除したいのですが、私のディレクトリのファイルは削除したくありません。
答え1
ファイルを削除する前にリストするには:
find . -maxdepth 1 -mtime +30 -type f -ls
ファイルを削除するには:
find . -maxdepth 1 -mtime +30 -type f -exec rm {} +
そして
.
現在のディレクトリの指定-maxdepth 1
ディレクトリの1レベルまで下がります。-mtime +30
最後に変更された日付が30日を超えたファイルのみ-type f
一般ファイルのみ
答え2
zshシェルに特殊ワイルドカード拡張機能それが役に立つでしょう。
現在のディレクトリから30日以上経過したファイルを一覧表示します。
ls -d -- *(.m+30)
現在のディレクトリから30日以上経過したファイルを削除します。
rm -- *(.m+30)
zsh構文は*(.m+30)
ワイルドカードです。つまり、次のことを意味します。
*
- 任意のファイル名( ... )
- 予選は....
- 一般ファイル(ディレクトリなどではありません)m+30
--修正時間が30日以上前です。