使用数据字段变量

使用数据字段变量

Content #

gawk的主要特性之一是处理文本文件中的数据。它会自动为每一行的各个数据元素分配一个变量。在默认情况下,gawk会将下列变量分配给文本行中的数据字段。

·$0代表整个文本行。·$1代表文本行中的第一个数据字段。·$2代表文本行中的第二个数据字段。·$n代表文本行中的第n个数据字段。

文本行中的数据字段是通过字段分隔符来划分的。在读取一行文本时,gawk会用预先定义好的字段分隔符划分出各个数据字段。在默认情况下,字段分隔符是任意的空白字符(比如空格或制表符)。

在下面的例子中,gawk脚本会读取文本文件,只显示第一个数据字段的值:

$ cat data2.txt
One line of test text.
Two lines of test text.
Three lines of test text.
$
$ gawk '{print $1}' data2.txt
One
Two
Three
$

该脚本使用$1字段变量来显示每行文本的第一个数据字段。如果要读取的文件采用了其他的字段分隔符,可以通过-F选项指定:

$ gawk -F: '{print $1}' /etc/passwd
root
daemon
bin
[...]
christine
sshd
$

这个简短的脚本显示了系统中密码文件的第一个数据字段。由于/etc/passwd文件使用冒号(:)来分隔数据字段,因此要想划出数据字段,就必须在gawk选项中将冒号指定为字段分隔符(-F:)。

From #

Linux命令行与shell脚本编程大全