私はアカウントがあり、1234-5678
ディレクトリ内のすべてのファイルの中からアカウントを見つけようとします。次のコマンドを使用しましたが、結果が見つかりませんでした。
grep "1234-5678" */
誰かがディレクトリ内のすべてのファイルの中でそれを見つける方法を教えてください。
答え1
ポータブル/標準:
find . -type f -exec grep 1234-5678 /dev/null {} +
一部のgrep
実装では、ファイルを再帰的に検索するオプションがあります-r
。-R
ただし、動作は実装ごとに異なります。
とともにgrep
AIX 6.1で発見たとえば、次のように使用できます。-R
オプション1。
しかし、上記の方法とは異なり、find
fifosやデバイスファイルなどの非正規ファイルを見つけることも、そうでない場合もあります。現在AIXシステムにアクセスできません。
1 IBMのオンライン文書によると、これらの-r / -RオプションのサポートがAIX 5.3に追加されました。 -r/-R は GNU grep の逆を意味することに注意してください。 (-rはディレクトリへのシンボリックリンクに従いますが、-Rはそうではありません。これはGNU grepの逆です。)
答え2
grep "1234-5678" * -r
またはgrep "1234-5678" * -R
シンボリックリンクに従う場合。