hol*_*eek 12
使用tr,sort和comm:
将空值转换为新行,并对结果进行排序:
$ tr '\000' '\n' < file1 | sort > file1.txt
$ tr '\000' '\n' < file2 | sort > file2.txt
Run Code Online (Sandbox Code Playgroud)
然后comm用来获取两个文件共有的行:
$ comm -1 -2 file1.txt file2.txt
<lines shown here are the common lines between file1.txt and file2.txt>
Run Code Online (Sandbox Code Playgroud)
如果file1或file2中没有重复值,则可以执行以下操作:
( tr '\0' '\n' < file1; tr '\0' '\n' < file2 ) | sort | uniq -c | egrep -v '^ +1'
Run Code Online (Sandbox Code Playgroud)
这将计算两个文件之间的所有重复值.
如果字段的顺序很重要,您可以这样做:
comm -1 -2 <(tr '\0' '\n' < file1) <(tr '\0' '\n' < file2)
Run Code Online (Sandbox Code Playgroud)
这种方法不可移植,它需要Bash的"进程替换"功能.
| 归档时间: |
|
| 查看次数: |
6066 次 |
| 最近记录: |