grepなしでファイルを空にし、バイナリファイルとして処理します。

grepなしでファイルを空にし、バイナリファイルとして処理します。

現在、netcatパイプ出力がteeoutput.txtに書き込まれています。

nc -l -k -p 9100 | tee output.txt

この出力を監視したいので、関連ビットのみを見るためにtail -f | egrep -i 'regex'PuTTYを介して視聴します。

時々、出力ファイルを消去したいと思います。発生する問題は、これを実行して> output.txtからやり直してもtail -f | egrep ...結果が得られないことです。ファイルを検索すると、一致するものがあることを知っていても、一致するものは得られません。しなければならない一致(cat output.txtファイルを正しく吐き出します)

mitch@quartz:~$ grep output.txt -e 'regex'
Binary file output.txt matches

そして、output.txtにも同じコマンドを使用してください。今後空の場合はうまくいきます。

基本的に>、人々はgrep私のファイルがバイナリだと思うようにし、正しく検索できないようにします。ファイルを消去するより良い方法はありますか?

ベストアンサー1

唯一の問題がgrepバイナリとして扱うことであれば、grepとにかく検索してください。

$ head /bin/bash > out
$ echo "test" >> out 
$ grep test out 
Binary file out matches
$ grep -a test out 
test

からman grep

   -a, --text
          Process  a binary file as if it were text; this is equivalent to
          the --binary-files=text option.

おすすめ記事