仅选择文件中具有行名称的行

时间:2014-05-09 13:15:28

标签: linux select row

我有一个很大但格式很好的文件' 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

1 个答案:

答案 0 :(得分:1)

对于B中的每一行,

在A中使用grep:

for f in `cat B`; do grep -w "^$f" A >> output.txt; done

或更简单

grep -f B A > output.txt

请注意,B中的行必须是有效的常规表达