bash findで一番更新日時の新しいファイルを出力

    >


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

ls -Rtald "/mnt/c/Users/ifgm2/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/ifgm2/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")

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



お困りですか?この記事で紹介していることをマンツーマンで指導、解説、代行します。まずはお気軽にお問い合わせください。


Close Menu