当我在openwrt中输入一些命令时,结果是这样的。
Security Signal(%) Mode
WPA2 86 on
WPA2 42 on
在这个结果中,我想在第一列中捕获信号值(86)。 如何使用bourne shell脚本捕获值?
另外,luci.sys.call函数仅用于制作Luci的cbi文件,不是吗?
答案 0 :(得分:2)
尝试
HereYourCommand | awk 'NR==2 { print $2 }'
awk程序打印第二个记录(又名行)的第二个字段(aka列)。
答案 1 :(得分:1)
以下内容应该:
render()
将HereYourCommand | head -2 | tail -1 | tr -s ' ' | cut -d' ' -f2
替换为HereYourCommand
。
解释:
openwrt
:只选择前两行。head -2
:从这两行开始,拿起最后一行。tail -1
:用一个空格替换多个空格。tr -s ' '
:从剩下的一行中拿起第二个字段。答案 2 :(得分:1)
cat test|tail +2|tr -s '\s\t' ' '|cut -d' ' -f2
tail +2
跳过第一行,然后我用单个空格替换空格或制表符并剪切得到第二个字段。
输出:
4
5
8
输入:
x y z
1 4 7
2 5 7
4 8 0