我需要找到一种方法将 grep 匹配的精确坐标从一个文件输出到另一个文件。所以说“模式”包含要匹配的字符串模式列表。 “搜索”是一个基于行的文本 (ASCII) 文件,其中包含要搜索的文本。
with:
grep -onf patterns search
我得到了该行中匹配的行和模式,但没有得到模式匹配的行,这就是我需要的。不限于使用grep、awk等也可以!
你们能帮忙吗?
未经测试:
awk 'NR==FNR{strings[$0]; next} {for (string in strings) if ( (idx = index($0,string)) > 0 ) print string, FNR, idx }' file1 file2
既然你正在使用-f
对于 grep 我假设你想要匹配的是字符串,而不是正则表达式。
上面只是根据第一个文件的内容构建一个字符串数组,然后对于第二个文件的每一行,它查找每个字符串在该位置出现的索引,如果存在,则打印该字符串、行号和该字符串首次出现在该行的索引(起始位置)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)