zoukankan      html  css  js  c++  java
  • AWK

    1. grep 更适合单纯的查找或文本匹配

    2.sed 更适合编辑匹配到的文本

    3. awk 更适合格式化文本,对文本进行较复杂格式处理

    4. awk 最常用的动作  print printf

    $0 表示整行 NF 表示该列被分割成几列字段,倒数第二列 $(NF-1) $NF 表示当前分割后最后一列  

    5. awk 2中特殊处理模式 :  BEGIN  END

        BEGIN : 指定可处理文本前需要执行的操作

        END     : 指定处理完所有行需要执行的动作

    6.    内置变量

        输入分隔符 field separator  FS

        输出分隔符 output field separator OFS

        awk -F# '{print $1 $2}' test

        awk -v FS='#' '{print $1 $2}' test

        awk -v OFS="+++" '{print $1,$2}' test  

        输入换行符  RS

        输出换行符   ORS

        当前行字段个数  NF

        当前处理文本行号  NR  多文件时,会按文件顺序 行号递增

        各个文件分别计数行号  FNR  多文件时,会按各自文件 行号显示

        档期文件名  FILENAME

        命令行参数格式  ARGC

        参数数组 ARGV

        awk 'BEGIN{print argv[0],argv[1],argv[2])' test1 test2 //  nawk 未实现,不知道原因

        自定义变量 awk 'BEGIN{aa="111";print "123",aa}' tt.txt

        awk -v TT="123" 'BEGIN{print "123",TT}' tt.txt     //  也未实现 ,不知道原因

        awk -v FS="#" '{printf "第一列: %s    第二列:  %s ",$1,$2}'  test

        awk  负责文本切割 printf  负责格式化输出

         awk '/^123/{print $0}' 1.txt

         awk '{if (NR > 1 && NR <4 ){print $0}}' 1.txt

         awk '{if(NR == 1 ){print $2,$3} else if(NR ==2){print $1}else {print $0}}' 1.txt

          

  • 相关阅读:
    PPT_标题
    产品需求撰写-架构图
    测试
    SparkLauncher 1.6 版本bug
    Github fork同步
    Maven 配置远程仓库
    Sqoop2中传入配置文件中url之【坑】
    Spark性能优化-coalesce(n)
    面试算法题目
    Git 基本概念及常用命令
  • 原文地址:https://www.cnblogs.com/jgmor/p/10071382.html
Copyright © 2011-2022 走看看