zoukankan      html  css  js  c++  java
  • awk命令

    基础学习——awk命令

    awk入门基础命令:

    awk [-F '分隔符']   '处理命令' 文件名
    

    eg:

    awk -F ' ' '{print $2}' test.txt
    

    意思是,以空格为分隔符,将test.txt中的每行进行分隔,然后输出第2列。$0则表示所有域,$1表示第一个域,$n表示第n个域。

    cat /etc/passwd | awk -F ':' 'BEGIN {print "name, shell"} {print $1 ", "$7} END {print "test, end"}'
    

    awk工作流:先执行BEGIN,然后读取文件,按行读取(/n换行分隔符),然后执行对应的动作action,直到所有行读取完毕,最后再执行END操作。

    awk正则匹配:

    awk -F: '/root/' /etc/passwd
    

    匹配pattern,这里匹配了root才会执行action,这里action为空,默认输出每行的内容

    awk内置变量:

    ARGC               命令行参数个数
    ARGV               命令行参数排列
    ENVIRON            支持队列中系统环境变量的使用
    FILENAME           awk浏览的文件名
    FNR                浏览文件的记录数
    FS                 设置输入域分隔符,等价于命令行 -F选项
    NF                 浏览记录的域的个数
    NR                 已读的记录数
    OFS                输出域分隔符
    ORS                输出记录分隔符
    RS                 控制记录分隔符
    
    awk -F: '{printf("filename:%12s,linenumber:%3s
    ",FILENAME,NR)}'  /etc/passwd
    
    awk -F: '{print "filename: "FILENAME, "linenumber: "NR}' /etc/passwd
    

    awk编程

    未完待续。。。

    http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html

    http://blog.chinaunix.net/uid-11172773-id-2975357.html

  • 相关阅读:
    Java类加载机制
    DAY18
    DAY17
    DAY16
    DAY15
    DAY14
    DAY13
    DAY12
    DAY11
    DAY10
  • 原文地址:https://www.cnblogs.com/fly1988happy/p/4687738.html
Copyright © 2011-2022 走看看