sed命令如何替换2种结果出现一种就替换成指定内容?例如 curl --connect-timeout 3 http1721610048904healthInfo 正常结果会输出:分支 test br提交id 1a8944a2be2ccd18fbbbc134c3d7ddda897f5ce2 br提交人 raopeng br提交时间 2023-04-03 10 18 55 br版本号 100而错误
可以使用sed命令和正则表达式来实现这个需求。具体步骤如下:
- 使用curl命令获取结果,将结果保存到一个变量中:
result=$(curl --connect-timeout 3 'http://172.16.100.48:904/healthInfo')
- 使用sed命令和正则表达式来判断结果是否正常:
if echo "$result" | grep -q '版本号:'; then
echo "结果正常"
else
echo "结果错误"
fi
- 如果结果正常,使用sed命令替换:
sed -i 's/提交人: raopeng/提交人: new_name/g' <<< "$result"
- 如果结果错误,输出错误信息即可。完整代码如下:
result=$(curl --connect-timeout 3 'http://172.16.100.48:904/healthInfo')
if echo "$result" | grep -q '版本号:'; then
sed -i 's/提交人: raopeng/提交人: new_name/g' <<< "$result"
else
echo "请求超时"
fi
原文地址: https://www.cveoy.top/t/topic/bilh 著作权归作者所有。请勿转载和采集!