我有 4 个文件,就像
file A
>TCONS_00000867
>TCONS_00001442
>TCONS_00001447
>TCONS_00001528
>TCONS_00001529
>TCONS_00001668
>TCONS_00001921
file b
>TCONS_00001528
>TCONS_00001529
>TCONS_00001668
>TCONS_00001921
>TCONS_00001922
>TCONS_00001924
file c
>TCONS_00001529
>TCONS_00001668
>TCONS_00001921
>TCONS_00001922
>TCONS_00001924
>TCONS_00001956
>TCONS_00002048
file d
>TCONS_00001922
>TCONS_00001924
>TCONS_00001956
>TCONS_00002048
Run Code Online (Sandbox Code Playgroud)
所有文件都包含超过 2000 行并按第一列排序。
我想在所有文件中找到公共行。我试过 awk 和 grep 和 comm 但没有工作
工具sed
,awk
或一次perl -n
处理他们的输入一条记录,默认情况下记录为行。
有些,比如awk
with RS
,GNU sed
with-z
或perl
with-0ooo
可以通过选择不同的记录分隔符来改变记录的类型。
perl -n
可以使整个输入(通过多个文件时每个单独的文件)成为带有选项的单个记录-0777
(或-0
后跟任何大于 0377 的八进制数,777 是规范的)。这就是他们所说的啜饮模式。
可以用awk
'sRS
或任何其他机制完成类似的事情吗?在哪里awk
处理每个文件内容作为一个整体,而不是每个文件的每一行?