如果未找到,则让 perl 正则表达式搜索失败并退出

如果未找到,则让 perl 正则表达式搜索失败并退出

grep如果没有找到结果,我会得到失败返回代码/退出状态。

我怎样才能用 perl 做同样的事情?

基本上,我想更改以下内容,以便如果未找到匹配项,则以状态 1 退出。

echo foo | perl -nle'print if m{bar}'

答案1

如果我要“快速而粗略地”解决这个问题,我会尝试这样的方法

echo foo | perl -nle' 打印如果 m{bar} 或打印 1'

希望这对您有帮助。

答案2

快速而肮脏:

echo foo | perl -nlE'print if $t ||= m{bar} }{ exit 1 if !$t'

解释:

“爱斯基摩之吻”™}{ 关闭 while循环(由 暗示-n)。在if语句中,变量$t1在第一场比赛发生时立即发生的。

相关内容