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
#

原文地址:https://www.cnblogs.com/fengwu007/p/6605649.html