dポイントプレゼントキャンペーン実施中!

findコマンドを使ってたとえば、

find . -name \*text

とすると、一覧が表示されますが、その一覧をタイムスタンプの新しい順に表示させるにはどんな、コマンドがありますか?

-exec というものがあると聞いたのですが、どうもうまくいきません。正しい文法を知っている方がおりましたら、そちらもお願いします。

A 回答 (2件)

findのバ-ジョンが私の使っているのと違っているかも。


(手元のは Vine Linux 2.6 添付の find で これには表示書式設定のオプション -printf があります。)

-printfが無い場合には、 -lsでパスの詳細情報出させて、日時のフィ-ルドでソ-トすることになるかと思いますが、ソ-トの条件設定が面倒化も知れません。
    • good
    • 0

exec を使うときには、終端 ; や引数{}をエスケープしてやる必要が有ります。

例えば、
find . -name \*.txt -exec ls -l \{\}\;
と言った具合に。

で、タイムスタンプ順ということでしたら、find の書式設定を使って、最初にunix timeを表示させて、それをソートする というのは如何でしょうか
例えば、
find . -name \*.txt -printf "%A@ %h%f\n"| sort -n
と言った具合に。
printfの書式詳細に付いては、man find で調べてください。

この回答への補足

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

補足日時:2004/04/07 17:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!