在我们面试各大公司的时候,关于Linux往往最容易问到的问题之一就是Linux指令,而其中,能够使用命令快速
的检查及删除文本文件中重复出现的行列已经成为了使用Linux系统的必备技能了,所以,面试官往往通过对于该
命令的考察,获取应聘者对Linux环境是否熟悉。我们结合海量面经,提取出最容易被问到的Linux当中检查及删
除文本文件中重复出现的行列的命令以及命令行参数,供大家参考
如何去除文件当中重复的行输出到标准输出设备如何删除文件当中重复的行输出到指定文件当中如何在每列旁边显示该行重复的次数如何只显示出现一次的行uniq 命令用于检查及删除文本文件中重复出现的行列;如果使用该命令不加任何命令行参数,则视为删除指定文本文件当中重复的行之后进行输出;如果指定输出文件,则输出到指定文件当中。
为了让大家看到测试文件当中的内容,使用cat命令查看文件当中内容
cat命令:输出当前文件当中的内容,具体的用法:cat [filename]
[Ann@localhost testuniq]$ cat uniqfile hello 20 linux 30 linux 30 linux 30 linux 30 nice 40 nice 40 nice 40我们可以看到:
hello 20 出现了1次
linux 30 出现了4次
nice 40 出现了3次
uniq [filename] : uniq命令加上待去重的文件,就可以将该文件当中的重复的行去掉,只留下不同行的内容,并且输出到标准输出设备上。
[Ann@localhost testuniq]$ uniq uniqfile hello 20 linux 30 nice 40uniq : 去重的命令
uniqfile : 待去重的文件名称
hello 20 linux 30 nice 40上面内容为我们使用uniq命令去重之后输出到标准输出的内容,请注意,在去重的过程中,uniqfile文件内容没有被改变,只是在输出的时候进行了过滤
uniq [filename1][filename2]:uniq命令加上待去重文件,加上输出文件。这样就可以将重复的行去掉并且输出到输出文件当中去
[Ann@localhost testuniq]$ uniq uniqfile test [Ann@localhost testuniq]$ cat test hello 20 linux 30 nice 40uniq : 去重命令
unqifile : 待去重文件名称
test:输出文件名称
cat test:查看test文件当中的内容,我们可以看到已经将uniqfile当中重复的行去掉,将结果保存在test文件当中
uniq -c [filename]:uniq命令加上-c命令行参数,加上待去重文件。这样就可以在每列旁边显示该行重复出现的次数
[Ann@localhost testuniq]$ uniq -c uniqfile 1 hello 20 4 linux 30 3 nice 40-c : uniq命令的命令行参数,在每列旁边显示该行重复出现的次数
uniq -u [filename]:uniq命令加上-u命令行参数,加上待去重文件。这样就可以展示文件当中只出现一次的行
[Ann@localhost testuniq]$ uniq -u uniqfile hello 20-u : uniq命令的命令行参数,显示文件当中只出现一次的行
uniq [filename]:去除文件当中重复的行,输出到标准输出设备
uniq [filename1][filename2]:删除文件当中重复的行,输出到指定文件当中
uniq -c [filename]:在每列旁边显示该行重复的次数
uniq -u [filename]:显示只出现一次的行