假设我有一个包含以下几行的 file.txt:
hello myname1 is yellow.pcapng red
festive myname33 is hddd.pcapng dfdf
crude myname44 is hello.pcapng
Run Code Online (Sandbox Code Playgroud)
现在我的目标是过滤到行,以便它输出到 out.txt 如下:
myname1 yellow.pcapng
myname33 hddd.pcapng
myname44 hello.pcapng
Run Code Online (Sandbox Code Playgroud)
现在我知道我可以使用:
grep -oh "\w*myname\w*" /tmp/file.txt > /tmp/out.txt
grep -o '[^ ]\+g' /tmp/file.txt > /tmp/out.txt
Run Code Online (Sandbox Code Playgroud)
分别获取表达式的两个相应部分。如何组合这些命令以便获得所需的输出?
给定您的样本数据,您可以假设单词 #2 和 #4 是您想要提取的内容;你会在 awk 中表达:
awk '{ print $2, $4 }' < /tmp/file.txt > /tmp/out.txt
Run Code Online (Sandbox Code Playgroud)