制御文字処理

制御文字処理

hex \u0003などの見えない制御文字を含むログファイルがあります。

SEDのようなものに置き換えたいのですが、一致する正規表現の最初の部分を取得することはできません。

/s/^E/some_string

「man ascii」ページで読み取ったように、CTRL-V CTRL-0 CTRL-3を押して特殊文字^ Eを作成しました。

003 3 03 ETX

ただし、対応する制御文字に一致する項目はありません。

助けてくれてありがとう!

ベストアンサー1

このコマンドを使用することもできますtr。たとえば、

制御文字の削除:

tr -d '\033' < file

制御文字を別の制御文字に置き換えるには、次のようにします。

tr '\033' 'x' < file

制御文字の値が何であるかわからない場合は、8進ダンプを実行するとその値が印刷されます。

$ cat file
hello
^[
world

$ od -b file    
0000000 150 145 154 154 157 012 033 012 167 157 162 154 144 012
0000016

したがって、制御文字の^[値はです\033

おすすめ記事