我想做一件非常简单的事情。我有两个文件如下:
FILE 1:
A s1 p1
B s2 p2
C s3 p3
FILE2:
B s4 p4
A s1 p1
C s6 p6
我想从该文件的文件和打印差异中提取第一列和第三列。一种简单的方法是使用cut -f1,3创建两个文件的中间文件并执行diff。多数民众赞成我想要的输出是什么。但我不想创建中间文件。任何简单的衬垫都可以做到这一点。
还有一件事,两个文件都没有排序,因此无法直接使用加入。
答案 0 :(得分:6)
试试这个:
diff <(cut -f1,3 file1) <(cut -f1,3 file2)
参考文献:
Compare two files line by line and generate the difference in another file
答案 1 :(得分:1)
diff -y <( awk '{print $1,$3}' file1) <( awk '{print $1,$3}' file2 )
应该这样做。注意-y
diff
选项与并排o / p。