使用Linux shell腳本,我如何能夠從這樣的刪除^ [字符:如何使用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
使用Linux shell腳本,我如何能夠從這樣的刪除^ [字符:如何使用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 '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
你想刪除^ [或所有的轉義序列? – Flimzy
這是從哪裏來的?一份文件 ? '^ ['是轉義符號(ASCII字符27/0x1B),IIRC'^ [[0m'是重置字符顏色和屬性的序列。 – DarkDust
請參閱[此複製](http://stackoverflow.com/questions/6534556/how-do-we-remove-and-all-of-the-escape-sequences-in-a-file-using-linux-shell )的問題,它有更好的答案 –