zoukankan      html  css  js  c++  java
  • awk(一)

    awk是一个优良的文本处理工具,Linux及Unix环境中功能最强大的数据处理引擎之一。
    命令形式:
    awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file
    -F,--field-separator指定分隔符
    -f,--file调用脚本
    -v,--assign定义变量 var=value
    '', 引用代码块
    BEGIN 初始化代码块,在对每一行进行处理之前,初始化代码,主要是引用全局变量,设置FS分隔符
    //  匹配代码块,可以是字符串或正则表达式
    {}  命令代码块,包含一条或多条命令
    ;  多条命令使用分号分隔
    END 结尾代码块,在对每一行进行处理之后再执行的代码块,主要是进行最终计算或输出结尾摘要信息
    例:
    awk '{print " "}' /etc/passwd #不输出passwd的内容,而是输出相同个数的空行
    awk '{print "a"}' /etc/passwd #输出与文件相同行数的行,一行只有一个a字母
    例:
    awk -F ":" '{print $1}' /etc/passwd #输出以“:”为分隔符的每行的第一个字段
    awk -F : '{print $1,$2}' /etc/passwd#输出以“:”为分隔符的每行的第一和第二个字段
    awk -F : '{print $1 $2}' /etc/passwd#输出以“:”为分隔符的每行的第一和第二个字段相连输出,不分割
    awk -F : '{print $1 " " $2}' /etc/passwd#$1和$2之间手动添加空格分隔
    awk -F : '{print $1,$2,$5}' OFS=' ' /etc/passwd#输出以“:”为分隔符的每行的第一、二、五个字段,并且以制表符分隔
    说明:
       $1 指指定分隔符后,第一个字段,$3第三个字段, 是制表符
    例:
    awk -F: '{print NF}' /etc/passwd#显示以“:”分隔,每行有多少个字段
    awk -F: '{print $NF}' /etc/passwd#将每行第NF个字段的值打印出来
    awk -F: 'NF==4 {print }' /etc/passwd#显示只有4个字段的行
    awk -F: 'NF>2{print $0}' /etc/passwd#显示每行字段数量大于2的行
    awk '{print NR,$0}' /etc/passwd #输出每行的行号及内容
    awk -F: '{print NR,NF,$NF," ",$0}' /etc/passwd#依次打印行号,字段数,最后字段值,制表符,每行内容
    awk -F: 'NR==5{print}'  /etc/passwd #显示第5行
    awk -F: 'NR==5 || NR==6{print}'  /etc/passwd #显示第5行和第6行
    awk 'NR!=1{print}' /etc/passwd /不显示第一行
    喜欢请赞赏一下啦^_^

    微信赞赏

    支付宝赞赏

  • 相关阅读:
    Mosquitto搭建Android推送服务(一)MQTT简介
    Quartz定时任务简单实例
    Oracle基础知识(一)、简介与安装
    [2013-08-01]window.open
    C#中DataTable与泛型集合互转(支持泛型集合中对象包含枚举)
    C#代码安装Windows服务(控制台应用集成Windows服务)
    Node+Socket实现聊天室
    web前端架构
    Laravel-admin form 表单是增加或者修改
    Laravel-admin 消息提醒、播放音频、点击跳转
  • 原文地址:https://www.cnblogs.com/lkj371/p/14956694.html
Copyright © 2011-2022 走看看