使用awk命令修剪前导空格
我看到了其他的例子和帖子,但似乎无法让它发挥作用。 我有一些lparstat输出,如下所示:使用awk命令修剪前导空格,awk,Awk,我看到了其他的例子和帖子,但似乎无法让它发挥作用。 我有一些lparstat输出,如下所示: Partition Number : 1 Type : Dedicated-SMT Mode : Capped Entitled Capacity
Partition Number : 1
Type : Dedicated-SMT
Mode : Capped
Entitled Capacity : 4,00
Partition Group-ID : 32769
Shared Pool ID : -
我想得到上限值
我有以下命令,但需要删除前导空格:
cat lparstat.out | egrep '^Mode' | awk -F: '{ print $2 }'
任何关于如何修改awk命令的建议都将不胜感激。我不想通过管道连接到sed。我测试了这个,它可以工作:
cat lparstat.out | egrep '^Mode' | awk -F':[[:blank:]]*' '{ print $2 }'
这会将字段分隔符更改为:
,后跟零个或多个空格或制表符
awk -F ' *: ' '$1=="Mode"{print $2}' lparstat.out
或使用正则表达式:
awk -F ': ' '/^Mode/{print $2}' lparstat.out
输出:
Capped
Capped
封顶
你能试试这个吗
awk -F ":" '/^Mode/ {gsub(/ /,"");print $2}' lparstat.out
输出:
Capped
Capped
谢谢-将Cyrus标记为答案,因为它在较短的命令中执行相同的操作