特定のパターンを持つファイルを見つけて、パターンに一致する最新のファイルをフルパスで印刷したいと思います。
find ../*.gz -type f -print0 | sort -nr | cut -d: -f2- | head -n 1
同じフルパスをどのように印刷できますか?
ユーザーが要求した場合ls -l
:
ls -l
drwxrwxr-x 3 xxx xxx 4096 Jun 27 23:29 fa1caae85
drwxrwxr-x 3 xxx xxx 4096 Jun 27 23:28 ga1c93eda
drwxrwxr-x 3 xxx xxx 4096 Jun 27 23:28 la1cbbh05
drwxrwxr-x 3 xxx xxx 4096 Jun 27 23:08 node_modules
drwxrwxr-x 3 xxx xxx 4096 Jun 27 23:08 _tasks
最初の3つのフォルダにはすべて必須ファイルが含まれていますが、そのフォルダから最新のファイルをインポートしたいと.gz
思います。.gz
ベストアンサー1
非正統的なアプローチ:
zsh -c 'print -r $PWD/**/*.gz(.om[1])'
どこ
()
afterは*.gz
いわゆるglob修飾子を使用することを意味します。.
一般ファイルのみが考慮されます。om
編集時間で並べ替え[1]
最初の要素のみを取るD
隠しgzファイル(thisなど)も考慮するには、修飾子を追加してくださいfind
。
明らかに、すでにzshを使用している場合は、それを呼び出すために使用する必要はありませんzsh -c
。