特定の変更日の最新のファイルライブラリを見つけ、最新の修正日に基づいてリストライブラリをソートしたいとします。
例えば
find /path/to/files -mtime -15 | xargs -d '\n' -r ls -t
出力:注:変更された日付を表示するために、ファイル名に変更された日付のみを入力します。
/path/to/file_EEE_2018Apr01.dat
/path/to/file_DDD_2018Apr01.dat
/path/to/file_CCC_2018Apr01.dat
/path/to/file_AAA_2018Mar28.dat
/path/to/file_BBB_2018Mar26.dat
その後、変更日は最新ですが、日付は同じファイルをインポートしたいと思います。
たとえば、最終出力は次のようになります。これは最初の出力結果からのものです。
/path/to/file_EEE_2018Apr01.dat
/path/to/file_DDD_2018Apr01.dat
/path/to/file_CCC_2018Apr01.dat
答え1
これを行うことができます:
FIND_PATH='/path/to/files'; find "$FIND_PATH" -newermt $(find "$FIND_PATH" -printf '%TY-%Tm-%Td\n' | sort | tail -1)
「内部」はfind
すべての変更日をフォーマットで印刷yyyy-mm-dd
し、最新の日付(| sort | tail -1
)のみを印刷します。
「外部」はfind
この日付のファイルのみを検索します。