zoukankan      html  css  js  c++  java
  • awk命令基础和进阶

    ---恢复内容开始---

    awk命令基础

    awk不仅仅是linux系统的一个命令,而且是一种语言,可以用来处理数据和生成报告。

    1. --version来查看awk的版本

    2.awk '条件‘ filename

    3.awk -F指定awk按照什么标志进行文件的切割,将原文件切割成一列一列的。如果我们不指定-F参数,awk默认按照空格进行文本的切割。{}中的print代表输出,$代表取列,$0就是默认输出文件的全部内容,$NF就是默认输出文件的最后一列

    4.awk的使用格式:

    awk options 'pattern{action}' filename

           (参数) (模式)(动作)模式是条件,是用来筛选数据的。动作是干什么
            先模式后动作;先根据参数切割,根据单引号里面的模式进行内容过滤,符合模式条件的再动作输出。

     5.贪婪模式  -F “空格” 默认贪婪

     6.-F指定分隔符为冒号

     7.awk -F 参数 ‘BEGIN{}模式{动作}END{}’ 文件名

        BEGIN:告诉awk,数据要如何读;END:告诉awk程序要如何结束。换行符是 ,NR是行号,RS是读入换行符;ORS是     输出换行符。

     8.sort命令:sort不加参数默认按26个英文字母;加-n按数字排序;加r是逆转排序;加k是从第几行排序。

     awk命令进阶

     1. awk的模式有四种:正则表达式,比较表达式,范围模式,特殊模式BEGIN和END。

        正则表达式作为模式

        第九列是200的ip地址

        直接在模式里面启用'$9~/^200$/{print $1}' ~代表启用正则 !~代表取反

        ’BEGIN{} 模式(动作) END{}'

        BEGIN:在开头执行一次;模式(动作):读取文件全过程都执行;END:在结尾执行一次

      2.在awk中,默认初始值从0开始

         +加-减*乘/除**乘方

         awk '{x=x+1;print x}' test (文件里有几行就输出几行)

         awk '{x=x+1}END{print x} ' test 文件一共多少行输出最终行号 (i++)= (i=i+1)

         awk '/^$/{i++}END{print i}' 统计有多少空行

         tr是替换命令 在编程里for是循环

         awk '{h[$1]=h[$1]+$2}END{for(i in h)print i,h[i]}' test

         

        

     

    ---恢复内容结束---

    awk命令基础

    awk不仅仅是linux系统的一个命令,而且是一种语言,可以用来处理数据和生成报告。

    1. --version来查看awk的版本

    2.awk '条件‘ filename

    3.awk -F指定awk按照什么标志进行文件的切割,将原文件切割成一列一列的。如果我们不指定-F参数,awk默认按照空格进行文本的切割。{}中的print代表输出,$代表取列,$0就是默认输出文件的全部内容,$NF就是默认输出文件的最后一列

    4.awk的使用格式:

    awk options 'pattern{action}' filename

           (参数) (模式)(动作)模式是条件,是用来筛选数据的。动作是干什么
            先模式后动作;先根据参数切割,根据单引号里面的模式进行内容过滤,符合模式条件的再动作输出。

     5.贪婪模式  -F “空格” 默认贪婪

     6.-F指定分隔符为冒号

     7.awk -F 参数 ‘BEGIN{}模式{动作}END{}’ 文件名

        BEGIN:告诉awk,数据要如何读;END:告诉awk程序要如何结束。换行符是 ,NR是行号,RS是读入换行符;ORS是     输出换行符。

     8.sort命令:sort不加参数默认按26个英文字母;加-n按数字排序;加r是逆转排序;加k是从第几行排序。

     awk命令进阶

     1. awk的模式有四种:正则表达式,比较表达式,范围模式,特殊模式BEGIN和END。

        正则表达式作为模式

        第九列是200的ip地址

        直接在模式里面启用'$9~/^200$/{print $1}' ~代表启用正则 !~代表取反

        

     

  • 相关阅读:
    adb 常用命令及操作
    服务器被黑检查命令
    linux总结
    mysql数据库常用操作
    Python字符串所有操作函数
    Python提示信息表示内容
    Linux基础命令wget(如何联网下载?)
    Linux基础命令sz
    Linux基础命令rz
    Linux基础命令find
  • 原文地址:https://www.cnblogs.com/liaang/p/9873937.html
Copyright © 2011-2022 走看看