我可以使用bourne shell脚本来捕获值吗?

时间:2017-12-06 09:48:12

标签: shell lua openwrt

当我在openwrt中输入一些命令时,结果是这样的。

Security  Signal(%)     Mode
WPA2      86            on
WPA2      42            on

在这个结果中,我想在第一列中捕获信号值(86)。 如何使用bourne shell脚本捕获值?

另外,luci.sys.call函数仅用于制作Luci的cbi文件,不是吗?

3 个答案:

答案 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