2012-01-13 133 views
1

我想问一个关于在awk语言中匹配字符串的问题。我有一个像file多串:awk中的字符串匹配文本文件的输入

abc 
def 
ghi 
jkl 
mno 
. 
. 
. 

我想匹配另一个文本文件,这些字符串。

有没有简单的方法来做到这一点使用awk?谢谢你的帮助。

+0

至少awk是这样做的一种可能性。不过,如果你可以粘贴一些示例输入和你期望的输出,那将是一件好事。 – Kent 2012-01-13 09:52:32

回答

4

是的,在awk中有这样一个简单的方法。

awk 'FNR==NR{a[$0];next}($0 in a)' file_1 file_2 

其中file_1是您的字符串文件,file_2是搜索文件。

+0

经典解决方案。 – Kent 2012-01-13 09:58:12

+0

谢谢jaypal ... – user1021713 2012-01-16 05:08:17

+0

嗨,我试过这个命令,但它没有给我任何结果。 – user1021713 2012-01-16 05:41:56

0

如果file1第一列的字符串必须与另一个file2的第四列匹配,并且所有行(仅匹配)都要打印。比我想这是在awk中最简单的方法。

awk -F "field seperater" '{a[$1=1]} a[$4]' file1 file2. 
+0

如果是这样的话,我会建议做这样的事情 - 'awk -F“字段分隔符''{a [$ 1]; next}($ 4)'file {1,2}' – 2012-01-19 04:42:13

+0

你的方式是绝对好。谢谢。 – user1021713 2012-01-19 05:28:41

相关问题