簡體   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