質問

FINDコマンドを使用して、Bashではいくつかの種類のファイルを見つけます。私に表示されている結果はすべて問題なく、ファイルの名前を含めて(最後の変更)のファイルを含みます。私はそれをlsまたはls -ltrに配管しようとしました、しかしそれは結果にフィールドカラムを表示しません、私もこれを試してみました:

ls -ltr | find . -ctime 1
.

しかし実際にはうまくいきませんでした。 検索コマンドによって返されたファイルのファイルを表示する方法を教えてください。

役に立ちましたか?

解決

これにはxargsまたは-execが必要です。

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

find . -ctime 1 | xargs ls -l
.

(最初に発見されたファイルごとにlsを個別に実行され、2番目の干渉は1つ以上の大きなls呼び出しに束ねています。)

他のヒント

必要なすべての場合、出力のようなLSを表示する場合は、Find:-lsオプションを使用できます。

$ 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
.

find . -ctime 1 -printf '%t\t%p\n'
.

␉キャラクタ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top