所以我有第一个文件,每行都有一个 ID,例如:
458-12-345
466-44-3-223
578-4-58-1
599-478
854-52658
955-12-32
然后我有第二个文件。它在每个文件中都有一个 ID,后跟信息,例如:
111-2457-1 0.2545 0.5484 0.6914 0.4222
112-4844-487 0.7475 0.4749 0.1114 0.8413
115-44-48-5 0.4464 0.8894 0.1140 0.1044
....
第一个文件只有1000行,是我需要的信息ID,而第二个文件有20万多行。
我在 fedora 中使用了以下 bash 命令并取得了不错的效果:
cat file1.txt | while read line; do cat file2.txt | egrep "^$line\ "; done > file3.txt
但是我现在正尝试在 Ubuntu 中复制结果,但输出是一个空白文件。这在 Ubuntu 中不起作用有什么原因吗?
谢谢!
最佳答案
您可以一次 grep 多个字符串:
grep -f id_file data_file
假设id_file包含所有ID,data_file包含ID和数据。
关于linux - 在一个文件中搜索包含第二个文件的 de 行的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6280362/