Awk

2019-01-23  本文已影响2人  知止9528

简介

awk是处理文本文件的一个应用程序,几乎所有 Linux 系统都自带这个程序。
它依次处理文件的每一行,并读取里面的每一个字段。对于日志、CSV 那样的每行格式相同的文本文件,awk可能是最方便的工具。
awk其实不仅仅是工具软件,还是一种编程语言。


基本语法

 格式
$ awk 动作 文件名 
示例
$ awk '{print $0}' demo.txt

说明

print表示动作, $0表示当前行,最终就是原样打印每一行

$ echo 'this is a test' | awk '{print $0}'
this is a test

awk会根据空格和制表符,将每一行分成若干字段,依次用1、2、$3代表第一个字段、第二个字段、第三个字段等等。

$ echo 'this is a test' | awk '{print $3}'
a

$3代表this is a test的第三个字段a。

除了$ + 数字表示某个字段,awk还提供其他一些变量。

变量NF表示当前行有多少个字段,因此$NF就代表最后一个字段。

$(NF-1)代表倒数第二个字段。

变量NR表示当前处理的是第几行。

上一篇下一篇

猜你喜欢

热点阅读