linux系统如何把这 echo $sn 回显SNMPv2-SMIenterprises3504721160 = STRING eth0 upload123KBsdownload12KBs过滤出upload括号里面字符注意括号里面还可能会回显MBS也要把BS去掉
可以使用grep命令结合正则表达式来过滤出upload括号里面的字符,并使用sed命令去掉B/S。
假设回显的字符串保存在一个变量中,可以按照以下方式进行处理:
sn="SNMPv2-SMI::enterprises.35047.2.11.6.0 = STRING: \"eth0: upload(12.3KB/s),download(12KB/s)\""
upload=$(echo "$sn" | grep -oP 'upload\(\K[^\)]+' | sed 's/B\/S//')
echo "$upload"
输出结果为:
12.3KB
解释:
grep -oP 'upload\(\K[^\)]+'使用正则表达式匹配upload后的括号内的字符,并使用\K断言来忽略匹配结果的前缀。sed 's/B\/S//'用于去掉匹配结果中的B/S。
注意:
- 该方法使用了PCRE正则表达式,需要确保系统中安装了支持PCRE的grep版本。
- 如果字符串中存在多个upload括号,上述方法只能获取第一个出现的upload括号内的字符。如果需要获取所有的upload括号内的字符,可以使用循环和数组来处理
原文地址: https://www.cveoy.top/t/topic/ivof 著作权归作者所有。请勿转载和采集!