• awk


    简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处

    1.命令行方式
    awk [-F  field-separator]  'commands'  input-file(s)
    其中,commands 是真正awk命令,[-F域分隔符]是可选的。 input-file(s) 是待处理的文件。
    在awk中,文件的每一行中,由域分隔符分开的每一项称为一个域。通常,在不指名-F域分隔符的情况下,默认的域分隔符是空格。

    例如:cat /etc/passwd | awk -F ':' '{print $1}'

     或者awk '{print $1}' scores.sh

    cat scores.sh | awk '{print $1}'  

    2.shell脚本方式
    将所有的awk命令插入一个文件,并使awk程序可执行,然后awk命令解释器作为脚本的首行,一遍通过键入脚本名称来调用。
    相当于shell脚本首行的:#!/bin/sh
    可以换成:#!/bin/awk

    其中 awk1.sh里面的内容

     #!/bin/awk -f 
    { print }

    然后./awk1.sh  scores.sh

    注意: #!/bin/awk -f 一定要有-f

    否则会出现这种错误

    awk: ./awk1.sh
    awk: ^ syntax error

    3.将所有的awk命令插入一个单独文件,然后调用:
    awk -f awk-script-file input-file(s)
    其中,-f选项加载awk-script-file中的awk脚本,input-file(s)跟上面的是一样的。

    例如:awk -f awk1.sh scores.sh

    其中awk1.sh里面是

    #!/bin/awk    【注意,方式二和方式三 就是这里差一个-f的区别。方式三有f没有f都可以。但方式二文件内容没有-f的话会出错】
    { print }

    其中scores.sh里面是

    kis 68 58 60 86
    as  85 90 90 97
    asd 56 68 65 75
    dgx 90 98 96 99
    tom 88 89 90 78

    参考文献:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html

  • 相关阅读:
    vue项目中使用定时器,离开页面时清除定时器
    不能在循环中使用res.send(err);
    React使用require加载图片失败
    实验五 单元测试
    实验四 代码评审
    UML 建模工具的安装与使用
    结对编程 第二阶段
    结对编程
    GIT 代码版本管理
    结构化方法与面向对象化方法的比较
  • 原文地址:https://www.cnblogs.com/bluewelkin/p/3986234.html
Copyright © 2020-2023  润新知