繁体   English   中英

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

[英]How to Remove ^[ characters from a file using 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

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

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

-i ''导致它就更改文件(而不是复制)。

您可以使用 sed 来实现,例如:

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM