script
出力をより読みやすい形式に後処理しようとしています。スクリプト出力から制御文字(コンソールコード/色付き)を削除するcol
しかし、これが常に動作するわけではないことがわかりました。
例えば、
$ cat -v uncolored
foo^H^H^Hbfoo^H^H^Hafoo^H^H^Hr^M
$ col -bp < uncolored
baroo
なぜ直接col -bp
出力しないのですbar
か?余分な2はどこo
から来ましたか。
ベストアンサー1
^H
この場合は、dec/hex 8 または oct 10 とも呼ばれるバックスペースキーです\b
。たとえば、次のようになります。
$ printf 'bravo\10\10X'
braXo
カーソルをもう一度2に移動しましたが、1文字だけを書きましたv
。つまり、上書きしなかったo
のでそのまま残ります。残りの文字を削除するには、通常は空白文字で上書きする必要があります。
$ printf 'bravo\10\10X '
braX