频道栏目
首页 > 网络 > 其他 > 正文

linux awk命令的使用-wx5c99daab1f230的博客-51CTO博客

2019-10-17 17:33:03           
收藏   我要投稿

ask 是一种文本处理工具 ,一个强大的文本分析工具

格式:awk '/pattern/{command}' file1 file2 ... #行匹配语句awk' '只能用单引号

   -F          指定分隔符
         -f           调用脚本
         -v          定义变量
         ' '           引用代码块
         BEGIN  在对每一行进行处理之前,初始化代码
         //           匹配代码块,可以是字符串或正则表达式
         ;         多条命令使用分号分隔
         END     对每一行进行处理之后再执行的代码块,主要是进行最终计算或输出                    结尾摘要信息
         { }         包含一条或多条命令

特殊符号:$0 匹配整行$1 每行的第一个字段FS 输入域分隔符,默认为一个空格 RS 输入记录分隔符 NF 当前记录里域个数 NR 到目前为止记录数 OFS 输出域分隔符 ORS 输出记录分隔符 \t 制表符\n 换行符== 等于全部相等!= 不等于

例 awk '{print $0}' file 显示整行awk '{print $1,$3}' file 显示匹配行的第一、三个域awk '{print FNR,$0}' file file2 把两个文件合起来显示

     统计/etc/fstab文件中每个文件系统类型出现的次数
           awk '/^UUID/{fs[$3]++}END{for(i in fs){print i,fs[i]}}' /etc/fstab
    统计/etc/fstab文件中每个单词出现的次数
         awk '{i=1;while(i<=NF){word[$i]++;i++}}END{for(num in word){print num,word[num]}}' /etc/fstab
    统计出/etc/passwd文件中shell的种类和个数
         awk -F: '{shell[$NF]++}END{for (i in shell){print i ,

shell[i]}}' /etc/passwd

相关TAG标签 linux
上一篇:linux中DNS远程更新及加密远程更新-虚拟机中centos的安装-51CTO博客
下一篇:MySQL的备份还原(mysqldump)-Masuri-51CTO博客
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 全峰安全联盟--致力于做实用的IT技术学习网站