さて、外付けハードドライブでgrepを使用しています。
はい、
M:/
grep -rhI "bananas" . > out.txt
これにより、「M:/」に「banana」を含むすべての行が出力されます。
ただし、ファイルの内容全体を出力したいので、example.txtの行に「bananas」が含まれている場合は、example.txtの内容全体が出力され、ディレクトリ「M:/」。 「バナナ」。
ベストアンサー1
grep -r "bananas" | cut -d: -f1 | xargs cat >> result.txt
grep
-r
:再帰。各ディレクトリのすべてのファイルを繰り返し読み込みます。
結果:file_name:text
各行について。たとえばfoo.txt:bananas
。
各行からファイル名を取得する必要があります。
切るsed
部分線を削除するための簡単なエディタ(またはここを使用できますが、awk
切り取りは簡単)
-d
分離記号。投稿ファイルがあるので、:
区切り文字は次のとおりです。-d:
-f
出力をフィールドに分割します。どちらを服用する必要がありますか?-f1
- 最初!
パラメータ
これでファイルのリストが作成されました。彼らと関係がありますか?xargs
標準入力でコマンドラインを作成して実行するためにこれを使用します。標準入力からファイル名を受け入れ、cat
ファイル名を引数として提供する各行に対して実行されます。単にcat
その内容を標準出力として印刷します。
>>
「ファイルに追加」を意味します。