awk
AWK 从输入流(文件、管道或标准输入)中逐行读入,每读入一行使用 'pattern{ commands }' 处理,直到文件末尾。
Usage: awk [options] 'program' file ...
-f progfile 调用脚本
-F fs 指定分隔符
-v var=val 定义变量
分隔符每行分隔的字段称为域,用 $0,$1,...,$NF 表示,其中 $0 表示所有域,$1 表示第一个域,$NF 表示最后一个域。默认使用空格作为分隔符。
变量 | 说明 |
FS | 输入字段分隔符,默认为任意空格,相当于-F 。 |
RS | 输入记录分隔符,默认为一个换行符。 |
NF | 字段数,在执行过程中对应于当前的字段数。 |
NR | 记录数,在执行过程中对应于当前的行号。 |
OFS | 输出字段分隔符,默认为一个空格。 |
ORS | 输出记录分隔符,默认为一个换行符。 |
ARGC | 命令行参数的个数。 |
ARGV | 包含命令行参数的数组。 |
FNR | 当前文件记录数,同NR。 |
举个栗子:
[root@localhost ~]# awk -F: '/root/{print $1,$NF}' /etc/passwd
root /bin/bash