在第5次出现"@"后,所有那些数字为"2"的行

use*_*854 0 perl awk grep

请看下面的输出:

SubNetwork=ONRM_ROOT_MO_R,SubNetwork=IPRAN,MeContext=U207@10.218.131.141@5.5@15@ON@3@5@STN_NODE_MODEL@1389599874171@1389599874171
SubNetwork=ONRM_ROOT_MO_R,SubNetwork=IPRAN,MeContext=U201@10.218.132.161@5.8@15@ON@1@4@STN_NODE_MODEL@-1@-1
Run Code Online (Sandbox Code Playgroud)

包含多行的文件,如上所示.如果您可以看到上面的不同字段用"@"符号分隔.我的目的是在第5次出现"@"符号后选择所有那些数字为"3"的行.

与上面的输出一样,结果应如下所示.因为在@符号出现五次之后它有3号.

SubNetwork=ONRM_ROOT_MO_R,SubNetwork=IPRAN,MeContext=U207@10.218.131.141@5.5@15@ON@3@5@STN_NODE_MODEL@1389599874171@1389599874171
Run Code Online (Sandbox Code Playgroud)

谢谢.

Ken*_*ent 5

试试这一行:

awk -F@ '$6~/^3/'  yourfile
Run Code Online (Sandbox Code Playgroud)

注意我写的~/^3/是因为你刚才说的是第五次之后的3 @.我想也3foobar应该算一算.

如果你想在column6中准确地使用一个char,它应该是3,你可以将行改为$6==3