我正在尝试查找包含第一个字符串的文本文件中的所有行,例如 |Kittens|Color|
.然后我希望搜索跳过下一组 ||
中的内容搜索第二个字符串,如 |Location|
.
文件中的所有内容都由管道 |
分隔。符号。换句话说,我希望文本文件中包含 Kittens、Color 和 Location 的所有行都在文件中:
12321415|Kittens|Color|Gender|Location|
最佳答案
我认为最好是使用awk
像这样:
awk -F"|" '$2=="Kittens" && $3=="Color" && $5=="Location"' file
这设置了管道
|
作为字段分隔符,并在此基础上检查特定字段 2、3 和 5 的值。如果它们都与给定值匹配,则打印该行。测试
$ cat a
12321415|Kittens|Color|Gender|Location|
12321415|Kittens|Color|Location|Blabla|
asdf|asdf|asdf|ads|asd|
并执行 awk:
$ awk -F"|" '$2=="Kittens" && $3=="Color" && $5=="Location"' a
12321415|Kittens|Color|Gender|Location|
关于ubuntu - 如何使用 grep 在同一行中查找不同的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26591532/