awk主要用来格式化文本
1.awk语法
awk [参数] [处理规则] [操作对象]
awk处理规则的流程
BEGIN{}
//
{}
END{}
2.参数:
-F
指定文本分隔符(默认是以空格问分隔符)
awk -F'f' '{print $NF}' j.txt
①打印系统所有用户解析器
3.awk的生命周期
grep 、sed和awk都是读一行处理一行,直到处理完毕
1.接收一行作为输入
2.把刚刚读进来得到的文本进行分解
3.使用处理规则处理文本
4.输入一行,就赋值给$0,直至处理完成
5.把处理完的所有数据交给END{}来再次处理
4.awk中的预定义变量
此为示例图
$0 : 代表当前行
加个别的符号可以看的清楚点
awk -F: '{print $0,"^^^"}' /etc/passwd
$n : 代表第n列
awk -F: '{print $2}' /etc/passwd
NF : 记录当前字段数
awk -F: '{print NF}' /etc/passwd
NR : 用来记录行号
awk -F: '{print NR}' /etc/passwd
FS : 指定文本内容分隔符(默认是空格)
FS 的优先级要高于 -F
awk 'BEGIN{FS=":"}{print $NF, $1}' /etc/passwd
OFS : 指定打印分隔符(默认是空格)
awk -F: 'BEGIN{OFS=">>"}{print $NF, $2}' /etc/passwd