awk '{}' 基本语法
三种方式调用awk,
1.命令行的方式: awk [-F 分隔符号] 'comands' input file(s) 分隔符只能制定一个(不能同时制定2个或以上个分割标准)
其中 commands 是awk命令,【-f 域分隔符】是可选的。 input-file(s) 是待处理文件
在awk中,文件的每一行中,由与分隔符分开的每一项称为一个域,通常,在不指名-F域分隔符的情况下。默认的分隔符是空格。
例子:last -n 5 ##仅取出前五行
awk内置的环境变量
FILENAME :显示文件名 例子: awk -F ‘:’ `"filename:" FILENAME "\t" {print $1}` 1.txt
filename: 1.txt 第一个域
NR:显示行号
FR:显示域号
1.awk的常规用法
需要注意的是 $1表示第一个域,$0表示所有域
输出以空格为分隔符的第一个单词
akw命令的默认分隔符为空白符或者[tab] (也就是我们常说的空格)
当然也可以不使用空格作为分隔符,-F ‘’ 可以在‘’内输入你需要使用的查询分隔符
2.输出前n行的数据
last -n 5
3.awk的查询语句
awk -F ';' '/root/' /etc/passwd
awk -F ';' '/root/' /etc/passwd
awk -F ';' '/root/ {print $1}' /etc/passwod
4.awk函数的一些内置变量
例子 统计/etc/passwd:文件名 每行的行号 每行的列数 对应的完整行内容
awk -F ';' '{print "filename:" FILENAME ",Linenumber:" NR ",colunms:" NF ",linecontent:" $0}' /etc/passwd