(标题中的问题)
例如:
FileA:
this is a
that was a
档案B:
that was a school
hi, you should ignore me
this is a example
that was a sample
...
我们想要的是在第三个文件中包含文件B的行1,3,4,(...)的文件。仅使用bash命令有解决方案吗?使用命令行“ Perl”(如果需要)的答案也有帮助。
使用awk,您可以执行以下操作:
awk 'NR==FNR{arr["^" $1]; next} {for (line in arr) if ($0 ~ line) {print; break}}' fileA fileB
that was a school
this is a example
that was a sample
首先,我们读取fileA
并构建一个数组,该数组的^
(行开头)与的每一行连接在一起fileA
。然后,在浏览过程中,fileB
我们仅循环浏览arr
并打印匹配的所有行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句