paypal网站做外贸,南海做网站,页面模板是什么,手机免费自建网站一、什么是awk
1.1 awk 基本概念
awk#xff08;语言#xff09;#xff1a; 读取一行处理一行 是一个功能强大的编辑工具#xff0c;逐行读取输入文本#xff0c;默认以空格或tab键作为分隔符作为分隔#xff0c;并按模式或者条件执行编辑命令。而awk比较倾向于将一行…一、什么是awk
1.1 awk 基本概念
awk语言 读取一行处理一行 是一个功能强大的编辑工具逐行读取输入文本默认以空格或tab键作为分隔符作为分隔并按模式或者条件执行编辑命令。而awk比较倾向于将一行分成font colorred多个字段/font然后进行处理。AWK信息的读入也是逐行。
1.2 awk的格式 awk [选项] ‘模式条件{操作}’ 文件1 文件2... awk -f|-v 脚本文件 文件1 文件..... 1.3 工作原理
前面提到 sed 命令常用于一整行的处理,而 awk 比较倾向于将一行分成多个“字段”然后再进行处理且默认情况下字段的分隔符为空格或 tab 键。awk 执行结果可以通过 print 的功能将字段数据打印显示。
第一步执行BEGIN{action;… }语句块中的语句 第二步从文件或标准输入(stdin)读取一行然后执行pattern{ action;… }语句块它逐行扫描文件 从第一行到最后一行重复这个过程直到文件全部被读取完毕。 第三步当读至输入流末尾时执行END{action;…}语句块
1.4 awk 常见的内置变量
FS∶ 列分割符。指定每行文本的字段分隔符默认为空格或制表位。与-F作用相同
NF∶ 当前处理的行的字段个数。
NR∶ 当前处理的行的行号序数。
$0∶当前处理的行的整行内容。
$n∶ 当前处理行的第n个字段第n列。
FILENAME∶ 被处理的文件名。
RS∶ 行分隔符。awk从文件上读取资料时将根据RS的定义把资料切割成许多条记录而awk一次仅读入一条记录以进行处理。预设值是’\n’
$NF最后一段
$(NF-1)倒数第二段
二、awk相关实例 begin 换成 end 同理 ifconfig ens33|sed -n 2p|awk {print $2} ifconfig ens33 |awk NR2{print $2} $n,代表提取第几列 NR∶ 当前处理的行的行号序数 2.1 打印磁盘已经使用情况去除 % 2.2 取出文本中的ip地址及时间 三、 NF当前处理行的整行内容 NR当前处理行的行号
3.1 当前处理的行的字段个数 3.2 当前处理的行的行号 #NR写在后面则在后面显示行号 #awk -F: {print $1,NR} /etc/passwd root 1 bin 2 daemon 3 adm 4 lp 5 sync 6 shutdown 7 halt 8 #可以用制表符 awk -F: {print $1\tNR} /etc/passwd root 1 bin 2 daemon 3 adm 4 lp 5 #NR写在前面则在前面显示行号 awk -F: {print NR\t$1} /etc/passwd 1 root 2 bin 3 daemon 4 adm 5 lp 3.3 NRn代表行号等于什么 3.4 NR%20取偶数行 3.5 NR%21取奇数行 3.6 NR1,NR4取区间行 3.7 取UID数值范围$n1000 #取uid大于1000的行 awk -F: $31000 {print} /etc/passwd #取uid大于等于1000的行 awk -F: $31000 {print} /etc/passwd