我的问题很简单,因为我的标题是"什么是perl等同于grep -o的一个内容?"。那是打印匹配的正则表达式而不是整行?
perl -pe some_option?? 'm/regex/' file
答案 0 :(得分:3)
如果您想完成最少量的工作,请更改
perl -nle'print $& if m{PATTERN}' file
到
grep -o -P '(?<=foo)bar(?=baz)' file
所以来自
perl -nle'print $& if m{(?<=foo)bar(?=baz)}' file
你得到:
perl -nle'print $1 if /foo(bar)baz/' file
但是,使用捕获可能更简单。
{{1}}
答案 1 :(得分:0)
你可以改变代码:
perl -ne 'if(/(regex)/) {print "$1\n"}' file
答案 2 :(得分:0)
perl -nE 'say $& while /regex/g' file