awk主要用来格式化文本
awk [参数] [处理规则] [操作对象] awk处理规则的流程 BEGIN{} // {} END{}
-F 指定文本分隔符(默认是以空格问分隔符)
awk -F'f' '{print $NF}' j.txt
①打印系统所有用户解析器
grep 、sed和awk都是读一行处理一行,直到处理完毕
1.接收一行作为输入 2.把刚刚读进来得到的文本进行分解 3.使用处理规则处理文本 4.输入一行,就赋值给$0,直至处理完成 5.把处理完的所有数据交给END{}来再次处理
此为示例图
$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