2017-02-23 62 views
0

我需要将一个文件中的所有字符串实例与另一个文件中的主列表进行匹配。但是,如果我的字符串是abc我只想要,而不是abcdefabc1234等。在由AWK生成的命令字符串中嵌入引号?

那么,正则表达式的字边界?现在,我使用的是简单的awk一个班轮:

cat results_file| sort -k 1| awk -F" " '{ print $1" /home/owner/file_2_search"}'| 
xargs -L 1 /bin/grep -i 

然而,迫使一个单词边界,我需要到grep string\b和引号(单人或双人)似乎是必需的。

在awk中,\b是一个特殊字符,您需要\\b ...并且引用引号...(arg)...或者我错过了某些内容并且过度执行此操作?

这是一个Linux机器,可能是gawk。我已经引用了awk的引用规则,并且意识到这很简单(并且不复杂......但是),但是我没有看到它。

+2

使用编辑器的“{}”按钮来编辑您的问题,以正确格式化所有代码,样本输入和预期输出,使其可读。 –

+0

肯定(这将可能是一个烂摊子,但它是有道理的)ABC ABCD jk1234 oo_123 XYZ XYZABC –

+2

我不明白你的脚本是做什么或怎么样双重转义\ B和报价行情的东西是什么。你也说你想匹配字符串,但是你正在讨论regexps - 你想匹配哪个?请[编辑]你的问题,包括简明,可测试的样本输入和预期的输出,以显示你正在尝试做什么以及我们可以测试一个潜在的解决方案。 –

回答

0

本来打算作为回答发布,而不是评论。试图提出一个更可读的问题,但承认再次考虑将其作为一个单线程首先 - 可能最好遵循一种替代方法。感谢帮助的意愿。 --Joe