我在包含以下形式的一些简单日志的文本文件中使用grep: -
[ABC.txt]
1=abc|2=def|3=ghi|4=hjk|5=lmn|6=opq
8=rst|9=uvx|10=wyz
.
.
.
.
等等
标签1,2,3,4等的值在整个文件中是不同的,并且在某些情况下也包括特殊字符。有没有办法我只能通过GREP检索标签4的值而没有其他标签?
顺便说一下,这个日志文件本身就是grep的结果。所以如果我应该首先重定向输出然后应用第二个grep或者将第二个grep应用于第一个grep,请考虑它是一个大文件。答案 0 :(得分:0)
你可以管道grep的结果来剪切,用“|”分割字段并选择第四个字段
[your grep command] | cut -d | -f 4
如果您希望“4 =”消失,您可以通过第二次使用剪切来执行相同操作,但这次使用“=”作为分隔符。
http://pubs.opengroup.org/onlinepubs/009695399/utilities/cut.html
答案 1 :(得分:0)
grep -Po '(?<=4=)[^|]*' ABC.txt