---恢复内容开始---
awk命令基础
awk不仅仅是linux系统的一个命令,而且是一种语言,可以用来处理数据和生成报告。
1. --version来查看awk的版本
2.awk '条件‘ filename
3.awk -F指定awk按照什么标志进行文件的切割,将原文件切割成一列一列的。如果我们不指定-F参数,awk默认按照空格进行文本的切割。{}中的print代表输出,$代表取列,$0就是默认输出文件的全部内容,$NF就是默认输出文件的最后一列
4.awk的使用格式:
awk options 'pattern{action}' filename
(参数) (模式)(动作)模式是条件,是用来筛选数据的。动作是干什么
先模式后动作;先根据参数切割,根据单引号里面的模式进行内容过滤,符合模式条件的再动作输出。
5.贪婪模式 -F “空格” 默认贪婪
6.-F指定分隔符为冒号
7.awk -F 参数 ‘BEGIN{}模式{动作}END{}’ 文件名
BEGIN:告诉awk,数据要如何读;END:告诉awk程序要如何结束。换行符是 ,NR是行号,RS是读入换行符;ORS是 输出换行符。
8.sort命令:sort不加参数默认按26个英文字母;加-n按数字排序;加r是逆转排序;加k是从第几行排序。
awk命令进阶
1. awk的模式有四种:正则表达式,比较表达式,范围模式,特殊模式BEGIN和END。
正则表达式作为模式
第九列是200的ip地址
直接在模式里面启用'$9~/^200$/{print $1}' ~代表启用正则 !~代表取反
’BEGIN{} 模式(动作) END{}'
BEGIN:在开头执行一次;模式(动作):读取文件全过程都执行;END:在结尾执行一次
2.在awk中,默认初始值从0开始
+加-减*乘/除**乘方
awk '{x=x+1;print x}' test (文件里有几行就输出几行)
awk '{x=x+1}END{print x} ' test 文件一共多少行输出最终行号 (i++)= (i=i+1)
awk '/^$/{i++}END{print i}' 统计有多少空行
tr是替换命令 在编程里for是循环
awk '{h[$1]=h[$1]+$2}END{for(i in h)print i,h[i]}' test
---恢复内容结束---
awk命令基础
awk不仅仅是linux系统的一个命令,而且是一种语言,可以用来处理数据和生成报告。
1. --version来查看awk的版本
2.awk '条件‘ filename
3.awk -F指定awk按照什么标志进行文件的切割,将原文件切割成一列一列的。如果我们不指定-F参数,awk默认按照空格进行文本的切割。{}中的print代表输出,$代表取列,$0就是默认输出文件的全部内容,$NF就是默认输出文件的最后一列
4.awk的使用格式:
awk options 'pattern{action}' filename
(参数) (模式)(动作)模式是条件,是用来筛选数据的。动作是干什么
先模式后动作;先根据参数切割,根据单引号里面的模式进行内容过滤,符合模式条件的再动作输出。
5.贪婪模式 -F “空格” 默认贪婪
6.-F指定分隔符为冒号
7.awk -F 参数 ‘BEGIN{}模式{动作}END{}’ 文件名
BEGIN:告诉awk,数据要如何读;END:告诉awk程序要如何结束。换行符是 ,NR是行号,RS是读入换行符;ORS是 输出换行符。
8.sort命令:sort不加参数默认按26个英文字母;加-n按数字排序;加r是逆转排序;加k是从第几行排序。
awk命令进阶
1. awk的模式有四种:正则表达式,比较表达式,范围模式,特殊模式BEGIN和END。
正则表达式作为模式
第九列是200的ip地址
直接在模式里面启用'$9~/^200$/{print $1}' ~代表启用正则 !~代表取反