本文介绍了awk搜索字符串并设置退出代码(如果存在)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想检查两个地址之间是否存在一行,如果存在则返回退出代码0
,如果不存在则返回1
.我想我有一个可行的例子,但是我想知道是否有更干净的方法可以做到.或RedHat上也常见的其他工具.
I want to check if a line exists between two addresses and return an exit code 0
if it exists and 1
if it does not. I think I've got one possible example working, but I'm wondering if there is a cleaner way to do it; or perhaps a different tool that's also common on RedHat.
我的命令:
awk 'BEGIN{found=1}NR==1,/^Match/{ if ( $0 == "PermitRootLogin yes" ) \
{ found=0 } }END { exit found }' /etc/ssh/sshd_config
推荐答案
awk '/^PermitRootLogin yes$/{f=1} /^Match/{exit} END{exit !f}' /etc/ssh/sshd_config
这篇关于awk搜索字符串并设置退出代码(如果存在)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!