从unix中的命令输出中grep行和列的值

时间:2014-01-08 06:58:57

标签: bash awk grep solaris

我需要从Solaris中的“lustatus”命令输出中获取“Boot Environment Name”,“Active Now”,“Active On Reboot”的值,以确定引导环境中是否有任何开关。

我将Active boot环境的值存储在一个文件中,并检查升级过程中引导环境是否有任何变化,以执行某些操作。

lustatus命令的输出将如下:

bash-3.2# /usr/sbin/lustatus
Boot Environment           Is       Active Active    Can    Copy
Name                       Complete Now    On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ----------
d10                        yes      yes    yes       no     -
d70                        yes      no     no        yes    -

3 个答案:

答案 0 :(得分:3)

使用awk

/usr/sbin/lustatus  | awk 'NR>3&&$3=="yes"{print $1}'

答案 1 :(得分:3)

  

如何对“现在活动”的值进行条件检查   “是”,然后在awk命令中仅打印“引导环境名称”?

这一行可以做到:

yourCmd|awk '$3=="yes"&&$0=$1'

答案 2 :(得分:1)

我相信这个awk示例会有所帮助;

/usr/sbin/lustatus | tail -n 2 | awk '{print $1 " " $3 " " $4}'

d10 yes yes
d70 no no