私は少しオンラインで検索しましたが、すべてのファイルを絶対パスと許可で再帰的にリストする方法を見つけようとしています。私は私ができるように、これをやりたいgrep
ように、私が欲しいものを私は、コマンドを実行したとき、私はちょうど一致するファイル、そのアクセス権、およびそれらの完全なパスを得ることができるように、:
<search command> | grep file.name
出力:
/home/current/Desktop/file.name
/etc/program/src/file.name
私はls
それが最も速いので使用したいと思います、そして私は入力します:
ls -alR $PWD/
しかし、これはファイルのパスを表示しないためgrep
、出力を行った場合、ファイルのアクセス許可は表示されますが、元のディレクトリは表示されません。
とls
統合して使用しfind
、grep
希望する形式で出力を取得できます。次のようなものを使用できます。
ls -ault `find $PWD/ -type f` | grep file.name
しかし、これは非常に遅いです。2つのコマンドが実際に実行されているためだと思います。
またはなしで使用find
するls
とgrep
、高速になりますが、次のように入力する必要があります。
find $PWD/ -type f -name file.name -printf '%M %u %g %s\t%a\t%p\r\n'
これにより、すてきなフォーマットが得られます(ユーザー、グループ、サイズ、およびアクセスの最終日も含まれます。これらは役立ちます)。しかし、トンと入力すると、それは確かに使用するのと同じ速さではないls
とgrep
。
私がやろうとしていることを使うよりも速くする方法はありますfind
か?
find
コマンドよりも速い方法はありません。ところで、-a
-typeと-nameの間に(および)を追加したい場合がありますか?または、おそらくシングル-name
で十分でしょうか?