次の形式の行を含むバイナリ ファイルがあります。
blabla^A2013.04.03-09:35:04^Ablabla
は^A
バイナリ文字001
です。
^A
(行全体ではなく)間にあるものだけを提供するgrepを実行できるようにしたい。
フラグ-o
が一致のみであることは知っていますが、そのバイナリ文字を検索する方法がわかりません
これをやってみてください:
grep --binary-files=text pattern file.txt
それで :
$ grep --binary-files=text -oP '\^\K[^\^]+(?=\^)' file.txt
A2013.04.03-09:35:04
control-A表示したい場所に入力するだけで、コマンド ラインに control-A を含めることができるはずです。最悪の場合、その前にタイプする必要があるかもしれませんcontrol-V。などbash
の のANSI-C 引用符を使用して表記法を調べることもできます$'\001'
。