0

だから私はこれから始めました

find /path-to-directory -type f -mtime +60 -exec ls -l {} \; > /path-to-directory/filenames.txt
find /path-to-directory -mtime +60 -exec rm -f {} \;

60日より古いファイルのリストが表示されますが、txtファイルにファイルを最も古いものから新しいものへと表示させたいのですが、順番が逆になってもかまいませんが、コンテキストを取得できないようです正しい

また、私は続ける必要があり ますか-type f-exec rm -fそれとも暗示されますか

目標は、削除されたファイルの記録を持つことです。テキストファイルの名前と一致するディレクトリの変数を取得できるかどうかを確認したいと思います。

4

2 に答える 2

2

txt ファイルにファイルを古いものから新しいものの順に表示したい

で使っls -ltrてみてくださいxargs

find /path-to-directory -type f -mtime +60 -print0 | xargs -0 ls -ltr > /path-to-directory/filenames.txt

また、-type f を -exec rm -f に保持する必要がありますか、それとも暗示されますか

-type fファイルのみを削除する場合は、指定する必要があります。そうしないと、ディレクトリも削除されます。

于 2013-11-12T16:27:52.680 に答える
1

しかし、txtファイルにファイルを古いものから新しいものの順に表示したい

find /path-to-directory -type f -mtime +60 -printf "%T@ %p\n" | sort

希望する順序でファイルのリストを返します。ただし、追加のフィールド (1970 年 1 月 1 日 00:00 GMT からの秒数) が含まれます。追加のフィールドを削除するには、次のように言えます。

find /path-to-directory -type f -mtime +60 -printf "%T@ %p\n" | sort | cut -d' ' -f2

また、私は続ける必要がありますか-type f-exec rm -fそれとも暗示されますか

いいえ、それを保持する必要があります。そうしないと、findディレクトリも返されます。

于 2013-11-12T16:14:46.357 に答える