• 締切済み

cshでfindした一覧をタイムスタンプ順に並べる

findコマンドを使ってたとえば、 find . -name \*text とすると、一覧が表示されますが、その一覧をタイムスタンプの新しい順に表示させるにはどんな、コマンドがありますか? -exec というものがあると聞いたのですが、どうもうまくいきません。正しい文法を知っている方がおりましたら、そちらもお願いします。

みんなの回答

  • foobar
  • ベストアンサー率44% (1423/3185)
回答No.2

findのバ-ジョンが私の使っているのと違っているかも。 (手元のは Vine Linux 2.6 添付の find で これには表示書式設定のオプション -printf があります。) -printfが無い場合には、 -lsでパスの詳細情報出させて、日時のフィ-ルドでソ-トすることになるかと思いますが、ソ-トの条件設定が面倒化も知れません。

  • foobar
  • ベストアンサー率44% (1423/3185)
回答No.1

exec を使うときには、終端 ; や引数{}をエスケープしてやる必要が有ります。例えば、 find . -name \*.txt -exec ls -l \{\}\; と言った具合に。 で、タイムスタンプ順ということでしたら、find の書式設定を使って、最初にunix timeを表示させて、それをソートする というのは如何でしょうか 例えば、 find . -name \*.txt -printf "%A@ %h%f\n"| sort -n と言った具合に。 printfの書式詳細に付いては、man find で調べてください。

taurus4
質問者

補足

-printfっていうオプションは無いって言われてしまったんですが、-print ではないんでしょうか?

関連するQ&A