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
语句中,变量$t
是1
在第一场比赛发生时立即发生的。