Awk使用方法简介
==================AWK===================
 AWK简介:awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,                   以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理;awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的     
                  GNU版本。
(1)域分隔符:awk在没有使用-F指定分割符时,默认以空格为分割符;
                                    域分割 $0代表文本内容全文显示;
                                  $1 代表分割第一个域;
                          $2 代表分割第二个域;
                                  ......
                                 awk  -F:  分割符为‘:’
                eg:   cat /etc/passwd | awk -F: '{print $1,$2,}'

(2) 打印报告头: 
           eg:   cat /etc/passwd | awk -F: 'BEGIN{print "This is system user"}{print $1}' | more

打印结尾:
       eg:     cat /etc/passwd | awk -F: 'BEGIN{print "This is system user"}{print $1}END{"=================="}' | more
cat /etc/passwd |awk -F: ‘BEGIN{print “===============”}{print $1}END{print “==========”}’ |more


(3) awk 中的正则表达式:
       1>匹配 ~
             eg:   cat /etc/passwd |awk '{if($1~/root/) print $0}'  
                         cat  /etc/passwd  |awk  ‘$0~/root/’
                  
               2>精确匹配:
            eg:  cat /etc/passwd | awk -F: '$1=="root"{print $0}'   
                      
                  3> 不匹配:
             eg:  cat /etc/passwd |awk '{if($1!~/root/) print $0}'
                        cat /etc/passwd | awk '$0 !~ /root/'
                         
                    4>小于,小于或等于:
            eg:  cat /etc/passwd | awk -F: '{if($3<200) print  $3}'
                       cat /etc/passwd | awk -F: '{if($3<=200) print  $3}'           
                        
           
    5>大于,大于或等于:
          eg:   cat /etc/passwd | awk -F: '{if($3>500) print $3}' 
                     cat /etc/passwd | awk -F: '{if($3>=500) print $3}'
                 
            6> 匹配多个关键字:
         eg: 
                 cat /etc/passwd | awk -F: '$1 ~ /(root|user)/ {print $0}'
                  
               7> 匹配行首:
            eg: cat  test |awk  -F: ‘{if($1~/^root/)  print $0}’
                      cat  test |awk  -F: ‘$1~/^root/ {print $0}’
                     
                     8> awk 使用 && ||
               eg: cat /etc/passwd | awk -F: '{if($1=="root" && $5=="root") print $0}'
                         cat /etc/passwd | awk -F: '{if($1=="root" || $1=="sfsdfdsfds") print $0}' 
                    
(4) awk 中的NF与NR:
       NF:浏览记录的域的个数(统计列的段数)
       NR:统计列的行号
      eg: cat test |awk -F: ‘{print  NF}’   输出一共有多少列
               cat  test |awk -F: ‘{print NF,NR}’  输出一共有多少列及其行号
               cat  test |awk -F: ‘{print  NR,$0}’  输出全部内容,并在其前输出行号
               awk '{if(NR<10 && $1~/root/) print $1}' /etc/passwd   行号小于10的,使用$1匹配root关键字
               cat /etc/passwd | awk -F: '{print $NF}'  打印每段的最后一段   
           
           
  (5)awk替换:
        eg:cat /etc/passwd | awk 'gsub(/root/,"alvinzeng") '  将文中所有的root替换成alvinzeng,并输出了所有匹配的行
               
Awk使用方法简介的更多相关文章
- gawk使用方法简介
		
转载:gawk 使用方法简介 - 简书 (jianshu.com) gawk 是最初 Unix 系统上 awk 程序的 GNU 版本.相对于作为流式编辑器的 sed 而言,它提供了更为强大的编程语言特 ...
 - 网络神器Greasemonkey(油猴子)使用方法简介+脚本分享【转载】
		
推荐下,觉得这个方法有用, 今天艾薇百科来介绍一下功能强大的Greasemonkey,俗称"油猴子",Greasemonkey可以自由定制网页,实现你想要的各种功能.堪称" ...
 - Redis Cluster搭建方法简介22211111
		
Redis Cluster搭建方法简介 (2013-05-29 17:08:57) 转载▼ Redis Cluster即Redis的分布式版本,将是Redis继支持Lua脚本之后的又一重磅 ...
 - Monte Carlo方法简介(转载)
		
Monte Carlo方法简介(转载) 今天向大家介绍一下我现在主要做的这个东东. Monte Carlo方法又称为随机抽样技巧或统计实验方法,属于计算数学的一个分支,它是在上世纪四十年代 ...
 - C#——Marshal.StructureToPtr方法简介
		
目录 MarshalStructureToPtr方法简介 功能及位置 语法 参数说明 异常 备注 举例 本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三 ...
 - TabBarController创建及使用方法简介
		
TabBarController创建及使用方法简介 大致讲解一下TabBarController的创建过程: 首先,我们需要一些视图,如创建UIControllerView类型的view1,view2 ...
 - delphi操作文本文件的方法简介
		
delphi操作文本文件的方法简介减小字体 增大字体 作者佚名来源不详发布时间2008-5-31 10:31:16发布人xuedelphi1 文件类型和标准过程 Delphi同Object ...
 - iOS中常用的四种数据持久化方法简介
		
iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 ...
 - jQuery的AJAX方法简介及与其他文件$符号冲突的解决办法
		
一.重要的jQuery AJAX方法简介 $.load(url) 从服务器载入数据 $.get(url,callback) 从服务器请求数据,并执行回调函数 $.post(url,data,callb ...
 
随机推荐
- python装饰器注意事项
			
内容: 1.装饰器基本结构复习 2.装饰器注意事项 python装饰器详细内容:http://www.cnblogs.com/wyb666/p/8748102.html 1.装饰器基本结构复习 装饰器 ...
 - 1.docker学习之简介
			
什么是Docker Docker是一个开源的应用容器引擎.通俗来说:所谓开源,就是指Docker是开放源代码的,比如用户可以免费使用该源代码, 并在该源代码的基础上自由修改或传播.所谓引擎,指的是程序 ...
 - requirejs——config
			
config 函数用于requirejs的配置信息.主要包括:baseUrl.paths: 一.baseUrl: 待续
 - eclipse中的实用快捷键
			
之前有写过“myeclipse实用快捷键”,今天总结一下“eclipse中的快捷键”. 1.打开文件Crtl+Shift+R: 2. 打开类文件包括能看到字在哪个jar Ctrl+Shift+T: ...
 - 使用jxl 解析Excel
			
jxl(Java Excel API) 使用方法 [1] 构建Workbook对象, 只读Workbook对象 // 直接从本地文档创建Workbook // 从输入流创建Workb ...
 - jxl导出excel的问题
			
jxl导出excel,通常浏览器会提示excel导出完成情况及默认保存路径,或让用户自定义选择保存路径,要达到这种效果,有些要做下修改,如:response是jsp的内置对象,在jsp中使用时不用声明 ...
 - linux开机自检配置文件fstab变只读无法修改问题
			
控制linux开机自检的配置文件是/etc/fstab,在最近用的服务器中,发现fstab变成了只读权限,无法修改. 解决方法:RH5下,因磁盘改变,而导致系统停在Ctrl+d,此时需输入密码进入修改 ...
 - Spring Data Solr操作solr的简单案例
			
Spring Data Solr简介 虽然支持任何编程语言的能力具有很大的市场价值,你可能感兴趣的问题是:我如何将Solr的应用集成到Spring中?可以,Spring Data Solr就是为了方便 ...
 - bootstrap-select用法详解
			
首先需要引入 <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href=&quo ...
 - 我为什么使用Kubuntu
			
网上看贴,包括身边的同事.朋友,总会问的问题是:我该选择哪个Linux发行版?使用久了,就会觉得这个问题其实不是问题,纯属个人习惯而已,当你真正习惯.理解了Linux,那么任何一个发行版的优点,你都有 ...