使用Awk在模式后面找到单词

时间:2013-07-19 11:57:44

标签: awk grep find

我执行了以下命令,并将数据存储在sample.txt文件中。

chkconfig --list | grep postfix > sample.txt

现在这个文件包含以下输出:

postfix         0:off   1:off   2:on    3:on    4:on    5:on    6:off

现在我需要在2:之后提取字符串。输出应为on

无论如何,我们可以使用awkgrep找到它吗?

2 个答案:

答案 0 :(得分:2)

如果提取是临时文件的唯一目的,awk绕过临时文件创建的一种方法:

chkconfig --list | awk '/postfix/{$0=substr($4,3)}1'

答案 1 :(得分:1)

awk可以做到这一点:

 awk -F '[: ]+' '{print $7}'

你也不需要grep。以下awk将完成这项工作:

chkconfig --list | awk -F '[: ]+' '$1 == "postfix" {print $7}'