欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux下用uniq命令后丢失某些行

程序员文章站 2022-03-11 12:05:35
...

Linux下用uniq命令后丢失某些行

原因

对于系统不认识的字符,会被统统认为相同。
例如:

我爱你a
我爱你b
我爱你c

如果系统只认识中文,不认识英文,那么在系统眼里,它们都是

我爱你<unkown char>

此时如果要执行uniq命令之后,就会删除其中的两行,只留下

我爱你a

解决方法

更改系统字符集设置(环境变量LANG),让系统认识这些字符。
那么应该改成什么字符集呢?字符集有很多,例如en_US.utt8、zh_CN.gb2312、zh_CN.gbk、zh_CN.utf8等等。
如果改成其中一个,还是有系统不认识的怎么办?
可以将LANG设置为C,如下:

vim ~/.bashrc

添加:

LANG=C

此处C的含义表示character,意思是甭管你是什么字符集了,我一个一个字节地比较。
这样,系统就不会把不认识的字符当做一样的了。

相关标签: uniq linux