1 awk 语法 awk [options] 'Pattern{Action}' file awk 对文件处理方式为逐行扫描处理 举例:awk '{print "用户名:" $1,$3}' /etc/passwd 变量用逗号隔开 $0为全行,NF为被分隔符分割的数量,$NF为最后一行,$NF-1为倒数第二行,以此类推。 2 awk 模式 Pattern 特殊模式 awk 'BEGIN{print "aaaa","bbbb"}' file #在处理file之前提前打印指定内容。awk 'END{print "aaaa","bbbb"}' file # 在处理file之后打印指定内容 3 分隔符 FS :field separator OFS:output field separator 默认输入/输出分隔符为空格,即awk以空格为准对每一行进行分割。 设置输入分隔符有两种方式,-F='#' -v FS='#' 变量间有逗号,输出时以空格分隔。 4 变量总结 变量使用前需要加参数 -v FS OFS,输入输出 NR 行号,当前文本处理的行号 FNR ,处理多个文件时分别显示行号 RS ,输入行分隔符,默认是指定回车而换行, -v RS=" ",指定遇空格换行,换而言之,指定了空格为换行符。 ORS , 输出行分隔符,需要换行则输出回车,-v ORS="***",需要换行时则输出***,替代了之前的回车。 ARGC与ARGV ,数组变量,ARGV[0]代表awk,ARGV[1]代表文件1,ARGV[2]代表文件2,以此类推。ARGC代表数组的参数数量,即ARGV的长度。 自定义变量,(1)awk -v myvar="23w" 'BEGIN{print myvar}' 输出23w (2)awk 'BEGIN{myvar="23w";print myvar}' 输出23w ...
评论
发表评论