Bash findコマンド 更新日時 一番新しいファイル 出力

Bashのfindコマンドで更新日時の一番新しいファイルを出力

LinuxのBashコマンドラインのfindコマンドで更新日時の一番新しいファイルをフィルタして出力する方法について紹介します。lsでやろうとしたんだけど、これだと日付が出力されてしまうので、find "/path" -printf '%T+ %pn'

Shou Arisaka
1 分で読める
2018年9月30日

LinuxのBashコマンドラインのfindコマンドで更新日時の一番新しいファイルをフィルタして出力する方法について紹介します。

lsでやろうとしたんだけど、

ls -Rtald "/mnt/c/Users/user/OneDrive/ドキュメント/ShareX/Screenshots/" | head -n 11

なんか複雑になったし、ていうかできなかった。

findならできる。

find "/path" -printf '%T+ %p\n' | sort -r | head -n 1
2018-09-02+04:24:51.0869511000 /mnt/c/Users/user/OneDrive/ドキュメント/ShareX/Screenshots/2018-09/ShareX_ScreenShot_b3e5c560-30ec-48b2-9d1f-b943a0d5e9bb.png

これだと日付が出力されてしまうので、

find "/path" -printf '%T+ %p\n' | sort -r | head -n 1 | sed -Ee "s/^.*(\/mnt.*\.(jpg|png))/\1/g")

こんな感じで、出力を変えてやります。

この記事をシェア

Shou Arisaka 2018年9月30日

🔗 リンクをコピー