linux中一些简便的命令之tac/comm
tac
tac是cat的反写,即反序显示文件内容
如文件a.txt内容如下:
1 2 3 4 5
则tac a.txt打印如下:
5
4
3
2
1
我们可以使用awk来实现tac的功能:
awk '{arr[NR]=$0}END{for(count=NR;count>0;count--)print arr[count]}' a.txt
这只是个列子,我们也可以使用各种循环工具(for/while)来实现tac的命令
comm
comm是比较俩个文件(俩个文件必须是按照顺序排列),并输出3列,第一列是只在前面文件有的内容,第二列是只在后面文件有的内容,第三列是俩个文件都有的内容
文件的排序可以使用命令sort,即sort a.txt
使用方法:comm file1 file2
当然我们也可以指定不显示某列,如不显示第二列(即只在第二个文件中内容不显示),则可以写成:
comm -2 file1 file2
不显示第三列(即俩个文件都有的不显示),则可以显示为:
comm -3 file1 file2
如果显示俩列或者三列,则前面有空格(其实是tab键),我们可以使用tr去掉:
comm file1 file2 | tr -d '\t'
关于本篇内容如有转载请注明出处;技术内容的探讨、纠错,请发邮件到70907583@qq.com