如何使用Linux shell脚本删除^ [文件中的字符?

时间:2011-06-30 10:07:40

标签: linux shell scripting

使用Linux shell脚本,我如何删除^ [这样的字符:

^[[0mCAM1> 
^[[0^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H
 rcv-multicast: 0
      tx-bytes: 33649974
    tx-packets: 99133

3 个答案:

答案 0 :(得分:2)

您可以使用sed从以下文件中删除字符:

sed -i '' -e 's/^[//g' somefile

-i ''会导致它更改文件就地(不进行复制)。

答案 1 :(得分:1)

您可以使用sed进行此操作,例如:

sed 's/^\[//g' oldfile > newfile;
mv newfile oldfile;

(它只删除尾随括号,如果要删除所有这些,请从sed表达式中删除^符号)

答案 2 :(得分:0)

您可以通过以下方式删除这些控制字符:

tr -d "[:cntrl:]" file.txt

然而它也会删除新的行结尾,所以这里有一个技巧,定义这个别名:

alias clean='tr "\r\n" "\275\276" | tr -d "[:cntrl:]" | tr "\275\276" "\r\n"'

然后尝试:

cat file.txt | clean > new_file.txt