Linux过滤掉文本中的乱码

时间:2022-11-23 22:33:46

有一个文本中有乱码 

1 CCTV-1
3 CCTV-5
3 CCTV-5
6 ¸£½¨μ¼˓HD
4 CCTV-12
4 ¸£½¨μ¼˓HD
20 ¸£½¨3-1«12
20 ¸£½¨5-μ苓¾刴 ¸£½¨μ¼˓HD
20 °2»֎JӸࠇ有 ʮܚπ˓
2 oӱ±π˓
8 ½?¨ͨ
4 o Ӹࠇ名 ɽ¶«π˓¸ࠇ名 ʮܚπ˓¸ࠇ劳 泉州3套
8 泉州3套
8 CCTV-2
1 浙江卫视
现在需要把文本中的乱码行去掉

所以现在使用的方法是

grep -Pv  "[\x80-\xFF]" test.txt
得到的结果是:

1 CCTV-1
3 CCTV-5
3 CCTV-5
4 CCTV-12
8 泉州3套
8 CCTV-2
1 浙江卫视
如果使用命令

grep -P  "[\x80-\xFF]" test.txt 
则获得:

所有的乱码行:

6 ¸£½¨μ¼˓HD
4 ¸£½¨μ¼˓HD
20 ¸£½¨3-1«12
20 ¸£½¨5-μ苓¾刴 ¸£½¨μ¼˓HD
20 °2»֎JӸࠇ有 ʮܚπ˓
2 oӱ±π˓
8 ½?¨ͨ
在命令中  P表示匹配模式,-v是不匹配的,取反的意思。