私は約13Gサイズのファイルに対してgrepを実行しています。帰ってきている
Binary file file.xml matches
私はこれを期待していませんでした。次のコマンドを実行できるように、文字列を含むすべての行を返すと思いました。
grep "searchString" ./file.xml | wc -l
私の大きなファイルのsearchStringのすべての発生回数を返します。
ベストアンサー1
grepはXMLファイルがテキストファイルではなくバイナリファイルだと思うようです。
grepがコンテンツに関係なくファイルをテキストとして処理するように強制するには、--text
次のようにスイッチ(GNU grep仮定)を使用できます。
grep --text "searchString" ./file.xml | wc -l
一致の数だけを計算したい場合は、grep --count
パイプの代わりに使用する方が良いwc -l
ので、パイプとプロセスの呼び出しを節約できます。