Bashでfindコマンドの結果のファイルを表示する方法
質問
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'
.
所属していません StackOverflow