Linux运维学习之awk范围模式简析

Linux运维基础学习中,关于awk了解多少呢?咱们今天就来简单了解下awk的范围模式。

Ø 范围模式简单理解就是从哪里来(条件1),到哪里去(条件2)。

Ø 匹配从条件1开始到条件2介绍的范围。

1)awk的范围模式,与sed类似但又有所不同,awk不能直接使用行号来作为范围起始地址,因为awk具有内置变量NR来存储记录号,所有需要使用NR=1,NR=5这样来使用。

2)范围模式处理的原则是:先匹配从第一个模式的首次出现到第二个模式的首次出现之间的内容,执行action。然后匹配从第一个模式的下一次出现到第二个模式的下一次出现,直到文本结束。如果匹配到第一个模式而没有匹配到第二个模式,则awk处理从第一个模式开始直到文本结束全部的行。如果第一个模式不匹配,就算第二个模式匹配,awk依旧不处理任何行。

awk '/start pos/,/end pos/{print $)} passwd oldboy'

awk '/start pos/,NR==XXX{print $0}' passwd oldboy

范围模式的时候,范围条件的时候,表达式必须能匹配一行。

   以上就是今天的分享了,希望对有需要的朋友有所帮助。


猜你喜欢

转载自blog.51cto.com/13543192/2162077