我有一个包含所有测试名称的文件:
$ cat all_tests.txt
test1
test2
test3
test4
test5
test6
另一个包含测试名称和相关结果的文件:
$ cat completed_tests.txt
test1 Passed
test3 Failed
test5 Passed
test6 Passed
如何创建一个包含所有测试名称以及相关结果而不重复的新文件?
如果我执行:
sort all_tests.txt completed_tests.txt
输出包含重复项:
test1
test1 Passed
test2
test3
test3 Failed
test4
test5
test5 Passed
test6
test6 Passed
所需的输出:
test1 Passed
test2
test3 Failed
test4
test5 Passed
test6 Passed
join
如果两个文件都经过排序,您似乎可以非常轻松地实现此目的。
$ join -a 1 all_test.txt completed_test.txt
test1 Passed
test2
test3 Failed
test4
test5 Passed
test6 Passed
-a 1
表示文件1中没有任何连接的打印行。
如果您的文件尚未排序,则可以使用此命令(感谢terdon!):
join -a 1 <(sort all_tests.txt) <(sort completed_tests.txt )
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句