grepがファイル全体を読み取らない

grepがファイル全体を読み取らない

ログファイルをgrepすると、grepがファイルの末尾に近い一致を見つけることができないことがよくあります。サンプルファイル

たとえば、次のようにします。

grep -n "demodulator_process" 2018_12_22_13_04_adfags-modem.log | less

ファイルの最大2962行までを表示し、その文字列がファイルの下部に表示されます。

走る

grep -n "Finished" 2018_12_22_13_04_adfags-modem.log

ファイルの最後の数行をキャプチャし、何も返さないでください。

この動作の原因を知っている人はいますか?

grepバージョンを使用しています

--> grep --version 
grep (GNU grep) 3.1

ありがとうございます。

ベストアンサー1

grep -a働くことができる:

男のgrepから:

-a、--textは--binary-files = textと同じです。

例えばgrep -a -n "demodulator_process" 2018_12_22_13_04_adfags-modem.log

あるいは、ファイルがバイナリと見なされないようにする前に、ヌル文字を削除することもできます。 (これはファイルを変更せずに検索中の内容のみを修正します。)

cat 2018_12_22_13_04_adfags-modem.log | tr -d '\000' | grep "demodulator_process"

おすすめ記事