以下是我们需要执行的2命令,有两种方法可以通过;
或|
在一行中执行此操作。有没有其他方法可以通过awk
命令执行它。
这些是下面执行两次的命令,是否可以使用多个awk print
的一个命令,如示例命令所示。
isi_classic snapshot usage | tail -n 1 | awk '{printf "\t\t\tSnapshot USED %=%.1f%%\n", $4}'
Snapshot USED =0.6%
isi_classic snapshot usage | tail -n -1 | awk '{ print "\t\t\tSnapshot USED:" $1}'
Snapshot USED=3.2T
尝试了示例命令:
isi_classic snapshot usage | tail -n 1 | awk '{printf "\t\t\tSnapshot USED %:%.1f%%\n", $4}'; awk '{ print "\t\t\tSnapshot USED:" $1}'
Snapshot USED =0.6%
Snapshot USED=3.2T
答案 0 :(得分:1)
你绝对可以使用单行命令来完成它,
isi_classic snapshot usage | awk -v OFS='\t\t\t' 'END{printf "%sSnapshot USED %=%.1f%%\n%sSnapshot USED:%s\n",OFS,$4,OFS,$1}'
简要说明,
tail
,awk 'END{}'
可以做同样的事情printf
和print
命令合并到一个'\t\t\t'
替换为OFS
以使命令更具可读性