作者jjooeeyy (陳阿燒)
看板Linux
標題[問題] 文字檔去除不要的資料
時間Tue Mar 3 22:00:07 2015
小弟的文字檔RAW DATA為
^[[64;1H^[[K^[[7mmore^[[27m^[[64;1H^[[64;1H^[[K2015/02/02 11:35:02
^[[64;1H^[[K^[[7mmore^[[27m^[[64;1H^[[64;1H^[[K2015/02/02 11:39:04
^[[64;1H^[[K^[[7mmore^[[27m^[[64;1H^[[64;1H^[[K2015/02/02 11:43:51
^[[64;1H^[[K^[[7mmore^[[27m^[[64;1H^[[64;1H^[[K2015/02/02 12:01:35
^[[64;1H^[[K^[[7mmore^[[27m^[[64;1H^[[64;1H^[[K2015/02/02 12:25:21
我想移除掉[[K2015*****的代碼
變成2015******
是否有辦法做到呢
這只是一個範例
可能每行前面的代碼不一定相同
但[[K+2015是一定會出現
所以只要有辦法把[[K包括他之前的代碼去掉就可以了
該怎麼用呢
因為我用cat整個檔案 看起來就正常 但cat a > b 代碼還是存在
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.64.69.80
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1425391210.A.852.html
→ dearlove: sed 03/03 22:01
→ jjooeeyy: sed 's/*.]]K//'. ?? 我待會試試看 03/03 22:30
→ jjooeeyy: sed 's/.+\[K//g'移除不掉 看起來他應該是顏色代碼 03/04 12:05
→ jjooeeyy: 這樣該怎麼處理比較好? 03/04 12:05
→ cherubx: 試著用(?<=##).+(?=##) 03/04 12:16
→ cherubx: 意思是:(左邊是##)資料(右邊是##)。 ##你自己定位 03/04 12:18
→ cherubx: 因為我只會正則,你的內文我看不太懂 Orz 03/04 12:19
→ jjooeeyy: perl -pe 's/\e\[?.*?[\@-~]//g'解決了 03/04 12:28