grep并拆分为unix

时间:2012-09-27 07:22:49

标签: unix

我需要首先grep确切的行,然后捕获所需的值。

例如

Total logical records skipped:        0
Total logical records read:           500
Total logical records rejected:       3
Total logical records discarded:      0

我需要捕获值500.我该怎么做?

2 个答案:

答案 0 :(得分:1)

使用awk的一种方式:

awk '/Total logical records read:/ { print $NF }' file.txt

如果通过捕获,则表示存储为shell变量:

variable=$(awk '/Total logical records read:/ { print $NF }' file.txt)

答案 1 :(得分:0)

使用grep + awk:

cat log.txt | grep read | awk '{print $ 5;}'

或只是awk:

cat log.txt | awk '/read/ {print $5;}'

请看这些示例:Awk Introduction Tutorial – 7 Awk Print Examples