sed "s/Ç//\x01 /g" filename
x01
代わりにそれを置き換えます\x01
答え1
どのバージョンのsedを使用していますか?なぜなら、このことは私の側ではとてもきれいに戻ります。
代替:
tr '\200' '\001' < yourfile
perl -pe 's/\200/\x01/g' yourfile
SOH=`echo x | tr x '\001'`; sed -e "s/\200/${SOH}/g" yourfile
答え2
投稿した内容に構文エラーがあります。Ç
空の文字列を末尾のゴミに置き換える指示です。正規表現と代替パターンの間にはスラッシュが必要です。Ç
リテラル文字列に置き換えるには\x01
必要ですsed "s/Ç/\\x01 /g" filename
。バックスラッシュは代替テキストの特殊文字なので、2倍にする必要があります。この答えの残りの部分は、Ç
文字を16進コードに置き換えることです01
。
\x01
16進コードで文字を指定する構文は、移植可能なsed構文の拡張です。 GNU sed(Linuxで実装されています)では機能しますが、AIXでは機能しません。
この文字を文字通りスクリプトに挿入できますが、多くのエディタでは入力するのが困難です。printf
コマンドと8進表記を使用して、移植可能な方法でスクリプトから文字を生成できます。
`sed "s/Ç/$(printf '\001') /g" filename`