15 別の質問に関連して、バイナリファイルをあいまいに検出するために、inバイトを検出する方法はありますsedか? bash sed — l0b0 ソース GNU sedでは、はい、しかし、多くの大学では、テキストユーティリティはnullバイトを処理できないことに注意してください。 — ジル「SO-悪であるのをやめる」
16 例: 改行が続くNULバイトを送信していることを証明します。 $ echo -e \\0 | hexdump -C 00000000 00 0a |..| 00000002 次に、NULバイトを!感嘆符に変更します。 $ echo -e \\0 | sed 's/\x00/!/' | hexdump -C 00000000 21 0a |!.| そのため、トリックは\x00NULバイトとして使用しています。 — ジッピー ソース 3 echo -ne \\0改行を避けることができます。 — -l0b0 置換hexdump -Cしuniname -bcepuて、ダンプする文字を確認します。 — l0b0 6 これは\x非標準のsed拡張機能であることに言及する必要がありますが、GNUsedはそれを提供しています。 — jw013 6 それはまた言及されるべきです、それecho -eはバシズムです。printfはるかに互換性があります。 — ジョフェル
7 はい、パターンは\x00ヌルバイトに一致します。 例: $ printf "\0\n\0\n" > file $ sed -e 's/\x00/test/' -i file $ cat file test test $ — ジョフェル ソース @ l0b0:それが私のために働いた理由は、私がzshを使用したからです。POSIXによると\0、ゼロバイトに置き換えられます。この置換は必要ありません(「サポートされる」)、実際にはbashは直接サポートしません。それには、を使用する必要がありますecho -e。私は交換するechoとしてprintf...もっと互換性があるように思える私の答えで — jofel