Shell篇之AWK
一、awk
1、awk -F 定义字段分隔符 (默认的分隔符是的空格或者其他的符号)
NF变量表示当前记录的字段数
2.读后处理 END {awk_cmd1;awk_cmd2;}
3 AWK变量
NR 当前记录的个数(全部文件连接后的统计)
FNR 当前记录的个数(仅为当前文件的统计,非全部)
FS 字段分隔符 默认为连续空格或制表符,可以使用多个不同的符号做分隔符 -F[:/] OFS 输出字符的分隔符 默认是空格(# awk -F: 'OFS="=====" {print $1,$2}' /etc/passwd
root=====x)
NF 当前读入行的字段个数
ORS 输出记录分隔符 默认是换行
# awk -F: 'ORS="=====" {print $1,$2}' /etc/passwd
root x=====bin x=====
FILENAME 当前文件名
二、运算符
+ - * / % ++ -- 转义序列
\ 自身
$ 转义$
制表符
退格符
回车符
换行符
c 取消换行
三、IF多分支
若有多个动作,则要用大括号将动作体包含起来 if (条件) {动作1;动作2}
# awk -F: '{if ($1 == "root") {print $1;print $6}}' /etc/passwd
root
/root
#