最後に作成/変更されたファイルの最後の5行を表示するには?

最後に作成/変更されたファイルの最後の5行を表示するには?

チームをサポートするために、毎日特定の時間にバックアップとステータスの更新を行う必要があります。これを行うには、*.affディレクトリで最後に作成/変更されたファイルの最後の5行を確認して更新する必要があります。

Linuxの*.affファイルなど、最後に変更されたファイル(特定の拡張子を使用)の最後の5行を表示する方法を教えてください。*.logなどの他のファイルも作成します。

ベストアンサー1

シェルを含むzsh:

tail -n 5 ./*.aff(D.om[1])

他のシェルでは、ファイル名に含まれる可能性があるものを想定したくない場合は、信頼できるものを見つけることは困難です。

たとえば、bash最新のGNUシステムを使用している場合、そのシステムは次のようになります。

find . -maxdepth 1 -name '*.aff' -type f -printf '%T@:%p\0' |
  sort -rzn |
  sed -zn 's/[^:]*://p;q' |
  xargs -r0 tail -n 5

または:

find . -maxdepth 1 -name '*.aff' -type f -printf '%T@/%p\0' |
  sort -rzn | (IFS=/ read -rd '' mtime file && tail -n 5 "$file")

おすすめ記事