テキストファイルから文字列のみを取得する方法は? (再帰的に)

テキストファイルから文字列のみを取得する方法は? (再帰的に)

フォルダ内のすべてのテキストファイルをmimetypeで一覧表示できます。

find . -type f -print0 | xargs -0 file -i | fgrep -i text | sed 's/:$//g' 2>/dev/null | awk 'BEGIN {FS=": "} {print $1}'

わかりましたが、このファイルから「STRING」を検索するために「fgrep」をどのように追加しますか(正規表現は必要ありません。これがfgrepの理由です)。

これは悪いです:

fgrep -iR "STRING" *

ISOファイル、バイナリファイルの検索を開始するため...

Fedora14/bash。

ベストアンサー1

最初、::マニュアルページに記載されているように、grepスイッチを使用してバイナリを検索しないように指定できます。-I

-I     Process a binary  file  as  if  it  did  not  contain  matching data;
       this  is  equivalent  to  the --binary-files=without-match option.

第二、the find:xargs、および多くのパイプの使用を避けるために、手続き型-execテストを使用してくださいfind。以下を使用して、論理テストシーケンスを簡単に作成できます。-exec各連続テストの連続実行もし前のコマンドはすべて0(成功的に完了)を返します。

おすすめ記事