8

SED を使用して、すべての「^A」制御文字をファイルから削除したいと考えています。「sed s/[[:cntrl:]]//g」を使用してすべての制御文字を削除できますが、「^A」を具体的に指定するにはどうすればよいですか?

4

2 に答える 2

11

「^A」を再現するには、単に Ctrl-v Ctrl-a を押します。これにより、ファイル内の ^A が再現されます

sed -i -e 's/^A/BLAH/g' testfile

その^A行のは、私が Ctrl-v Ctrl-a を押した結果です

于 2013-03-14T22:36:14.880 に答える
11

^A はバイト 1 程度\x01なので、これを実行できるはずです。

sed 's/\x01//g'

単一バイトの変更の場合、「tr」は sed よりも高速ですが、bash の$'..'構文を使用して 0x01 バイトを指定する必要があることに注意してください。

tr -d $'\x01'
于 2013-03-14T22:38:16.843 に答える