我有一个名为“script.awk”的简单awk脚本,其中包含:
/\/some_simple_string/ { print $0;}
我用它来解析一些包含以下内容的文件:
(通过使用:cat文件| awk -f script.awk)
14 catcat one_two/some_thing 15 catcat one_three/one_more_some_simple_string 16 dogdog one_two/some_simple_string_again 17 dogdog one_four/some_simple_string 18 qweqwe firefire/ppp
我希望脚本只打印完全反映“/ some_simple_string [END_OF_LINE]”而不是2或3的笔划.
有没有简单的方法呢?
我认为,最合适的方法是在正则表达式中添加行尾叹息.
所以它只解析以“/ some ..”开头的笔画,并在“..string [END_OF_LINE]”的末尾添加一个新行
期望的输出:
17 dogdog one_four/some_simple_string
抱歉混淆,我要求END OF LINE签到正则表达式.
正确答案是:
/\/some_simple_string$/ { print $0;}
解决方法
你可以随时使用:
/\/some_simple_string$/ { print $0 }
即不仅匹配“some_simple_string”而且匹配“/ some_simple_string”后跟行尾($是正则表达式中的行尾)