所以我有两个不同的文件。
文件1.txt是:
abcdefjeiireiiioe:data:otherdata
rijirjeiwrieeoooe:datamore:otherdatamore
文件2.txt是:
abcdefjeiireiiioe:data:otherotherdata
rijirjeiwrieeoooe:datamore:otherotherdatamore
*other random lines which do not occur in file1.txt also and are not needed
我怎样才能将它们打印在同一行上,以便它们像:
abcdefjeiireiiioe:data:otherdata:data:otherotherdata
答案1
我假设您也希望合并第二行。您可以使用join
:
join -t : file1 file2
这会解析file1
并file2
用作:
分隔符,并合并第一个字段匹配的行。默认情况下,不匹配的行将被忽略并且不会出现在输出中。
输入文件需要在连接字段上排序;如果不是,您可以预处理它们:
join -t : <(sort -k 1,1 -t : file1) <(sort -k 1,1 -t : file2)
或者您可以尝试忽略排序检查:
join -t : --nocheck-order file1 file2