可以使用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括号内的字符,可以使用循环和数组来处理
linux系统如何把这 echo $sn 回显SNMPv2-SMIenterprises3504721160 = STRING eth0 upload123KBsdownload12KBs过滤出upload括号里面字符注意括号里面还可能会回显MBS也要把BS去掉

原文地址: https://www.cveoy.top/t/topic/ivof 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录