6

find コマンドを使用して、bash でいくつかの種類のファイルを検索します。私に表示される結果にファイル名だけが含まれていて、ファイルの(最終変更)日付が含まれていない限り、すべてうまくいきます。ls または ls -ltr にパイプしようとしましたが、結果に filedate 列が表示されないだけで、これも試しました:

ls -ltr | find . -ctime 1

しかし、実際には私は働いていませんでした。find コマンドによって返されたファイルのファイル日付を表示する方法を教えてください。

4

3 に答える 3

11

これには または のxargsいずれかが必要です。-exec

find . -ctime 1 -exec ls -l {} \;

find . -ctime 1 | xargs ls -l

(1 つ目はls見つかったすべてのファイルを個別に実行し、2 つ目はそれらを 1 つ以上の大きなls呼び出しにまとめて、わずかに適切にフォーマットされるようにします。)

于 2012-05-21T07:09:51.277 に答える
7

ls のような出力を表示することだけが必要な場合は-ls、find オプションを使用できます。

$ find . -name resolv.conf -ls
1048592    8 -rw-r--r--   1 root     root          126 Dec  9 10:12 ./resolv.conf

タイムスタンプのみが必要な場合は、-printfオプションを確認する必要があります

$ find . -name resolv.conf -printf "%a\n"
Mon May 21 09:15:24 2012
于 2012-05-21T07:15:51.153 に答える
2
find . -ctime 1 -printf '%t\t%p\n'

␉ 文字で区切られた日時とファイル パスを出力します。

于 2012-05-21T12:32:01.290 に答える