zoukankan      html  css  js  c++  java
  • Linux命令——awk的基本使用

    1,简介

      awk 是一种处理文本文件的语言,是一个强大的文本分析工具。

      awk 其实不仅仅是工具软件,还是一种编程语言。

      awk 是以文件的一行内容为处理单位的。awk读取一行内容,然后根据指定条件判断是否处理此行内容,若此行文本符合条件,则按照动作处理文本,否则跳过此行文本,读取下一行进行判断。

    2,基本用法

      condition:条件。若此行文本符合该条件,则按照 action 处理此行文本。不添加条件时则处理每一行文本;

      action:动作。按照动作处理符合要求的内容。一般用于打印指定的内容信息;

      注意下面的引号为英文的单引号

    2.1 处理指定文件的内容
      awk    'condition { action }'    filename
    2.2 处理某个命令的执行结果
      command  |  awk   ' condition { action }'

    3,案例

    F(指定字段分隔符)
    默认使用空格作为分隔符

    3.1 处理指定文件的内容

    cat  log.txt

    2 this is a test
    3 Are you like awk
    This's a test
    10 There are orange,apple,mongo

    3.1.1 每行按空格或TAB分割(默认情况),输出文本中的1、4项
     awk '{print $1,$4}' log.txt
    ---------------------------------------------
    2   a
    3   like
    This's
    10   orange,apple,mongo
    ---------------------------------------------

    3.1.2 格式化输出
     awk '{printf "%-8s %-10s ",$1,$4}' log.txt
    ---------------------------------------------
    2   a
    3   like
    This's
    10   orange,apple,mongo

    ---------------------------------------------

    3.1.3 指定其它符号分割

    log.txt的内容如下:
    #2,this,is,a,test
     3 Are you like awk


     awk -F, '{print $1,$2}' log.txt
    ---------------------------------------------
    2   this
    3   Are you like awk

    ---------------------------------------------

    3.2 处理某个命令的执行结果

    [root@localhost awk]# echo "aa bb cc dd ee ff" | awk '{print $1}'
    aa
    [root@localhost awk]# echo "aa bb l cc dd l ee ff" | awk -F 'l' '{print $1}'
    aa bb
    [root@localhost awk]# echo "aa bb cc : dd ee ff" | awk -F ':' '{print $1}'
    aa bb cc

  • 相关阅读:
    oracle单行函数 之 转换函数
    oracle单行函数 之 时间函数
    oracle单行函数 之 数字函数
    oracle单行函数 之 字符函数
    oracle 之 如何链接别人电脑的oracle
    轻应用介绍
    Web 目录枚举与遍历漏洞解决
    接口测试工具(Postman)
    Tomcat 编码不一致导致乱码
    持久化配置管理 diamond 使用简介
  • 原文地址:https://www.cnblogs.com/gezp/p/12575229.html
Copyright © 2011-2022 走看看