次の形式の行を含むバイナリ ファイルがあります。
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'。