次のようなバイナリファイルがあります(Emacsの 16進モードで開く):16進値 '22081b00081f091d2733170d123f3114'がファイルに存在する場合、どのようにgrepできますか?
00000000: 2b08 1b00 1418 0825 0407 3830 271d 170d +......%..80'...
00000010: 2208 1b00 081f 091d 2733 170d 123f 3114 ".......'3...?1.
00000020: 1909 1b00 0934 1f10 2503 3803 111c 3821 .....4..%.8...8!
私の例では、探している16進値はアドレス0x10にあるため、ヒットを返すはずです。
grep
P
オプションを知っているので、を使用できますgrep -aP '\x22\x08\x1b...'
。答えはstackoverflow.com/questions/6319878/からです...-あなたはretcodeだけに興味があると思うので、出力をにリダイレクトする必要があります/dev/null
。
grep
はそれのためにどうなりますか?grep 2208 1b00 081f 091d 2733 170d 123f 3114
、スペースあり。