フォルダ構造からfoo.txtパスを取得する必要があります。この構造には複数のfoo.txtファイルがありますが、最新のファイルを自動的に見つける必要があります。提案?
答え1
find . -iname foo.txt -exec ls -t "{}" \+ | head -n 1
答え2
これは事件ですzshのglob修飾子私が見たことがあれば。
cat **/foo.txt(om[1])
om
ファイルを年齢に応じて並べ替えます(例:変更時間、最新のアイテム順)。[1]
最初の一致のみが選択されます。
別のシェルから呼び出してファイル名を使用したい場合は、次のものを使用できます。
latest_foo=$(zsh -c 'print -r -- **/foo.txt(om[1])')
しかし、zshで完全なスクリプトを書くこともできます。
答え3
find . -iname foo.txt -printf '%CYmd %p%f' | sort -n -t ' ' -k 2 | head -n 1