管道grep结果以awk,get字段,管道字段列表作为模式在同一文件中grep

时间:2016-12-22 19:15:24

标签: awk grep

我很难找到一个单行程序来搜索文件中的模式,从匹配的行中获取一个字段,然后再次使用该字段作为模式搜索同一个文件,以获取一个不同的领域。你可以说数据看起来像这样:

CONNECT=desired_output CONNECTION=pattern2  
SEARCH=pattern1 CONNECTION=pattern2

到目前为止,我尝试过这些不圣洁的混乱无济于事:

zgrep -i pattern1 file | awk '{print $8}' | xargs -I % zgrep % file | zgrep pattern2
zgrep -i pattern1 file | awk '{print $8}' | zgrep -f - file

如果我放弃最后一个grep,它会给出结果(需要另一个grep和awk来获得所需的输出字段)。如果我包含最后一个grep,它将永远不会返回输出。

类似的问题似乎表明awk能够完成这个概念,但我无法解释给出的示例以适应我的用例。

1 个答案:

答案 0 :(得分:0)

听起来你想要这样的东西,未经测试,因为你没有提供可测试的输入/输出:

awk '
NR==FNR {
    if ( /constant_regexp1/ ) {
        dynamic_regexp2 = $8
    }
    next
}
$0 ~ dynamic_regexp2
' file file

永远不要使用" pattern"顺便说一句,因为它不明确,总是使用"字符串"或者" regexp",无论你是什么意思。