在bash脚本中,我希望从命令输出中获取一些数字并将其存储在变量中。命令输出示例:
25 results [22 valid, 2 invalid, 1 undefined]
我想在前面的命令输出中将这四个数字保存为变量results, valid, invalid, undefined
。
比方说,这个命令的输出保存在一个名为文件output.txt
,那么你可以使用的命令awk
和grep
如下:
results=$(grep results output.txt | awk '{print $1}')
valid=$(grep valid output.txt | awk '{print $3}' | tr -d [])
invalid=$(grep invalid output.txt | awk '{print $5}' | tr -d [])
undefined=$(grep undefinedoutput.txt | awk '{print $7}' | tr -d [])
在适合您的bash中包括这四行。
相反,您只能使用awk
查找匹配的模式,如下所示:
results=$(awk '/results/{ print $1 }' output.txt)
valid=(awk '/valid/{ print $3 }' output.txt | tr -d [])
invalid=(awk '/invalid/{ print $5 }' output.txt | tr -d [])
undefined=(awk '/undefined/{ print $7 }' output.txt | tr -d [])
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句