我有一个很大但格式正确的文件“A”。第一列存储每一行的名称。我有另一个文件“B”存储我感兴趣的名称。如何选择文件“B”中具有名称的行?这个想法很简单,但是我对LINUX不熟悉。
文件“A”:数据文件。第一列是名称,与第二列用\tab 分隔。其他列以逗号分隔。
col1 0.1111,0.2222,0.33333,0.4444
col2 0.1111,0.2222,0.33333,0.4444
col3 0.1111,0.2222,0.33333,0.4444
col4 0.1111,0.2222,0.33333,0.4444
文件“B”:感兴趣的行,存储在一列中。
col1
col3
col4
最佳答案
在 A 中为 B 中的每一行进行 grep:
for f in `cat B`; do grep -w "^$f" A >> output.txt; done
或更简单
grep -f B A > output.txt
请注意B中的行必须是有效的正则表达式
关于linux - 仅选择文件中具有行名称的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23565601/