zoukankan      html  css  js  c++  java
  • awk二十问-【AWK学习之旅】

    ---===AWK学习之旅===---
    一行命令:
    1.打印输入每行的字段总数:
    最后一行的字段总数:END{print NF}
    每行都显示字段总数: {print NF}
     
    2.打印指定行:
    awk 'NR==3' emp.txt
     
    3.打印每行的最后一列:
    awk '{print $NF}' emp.txt
     
    4.  打印最后一行最后一列:
    awk 'END{print $NF}' emp.txt
    awk '{field = $NF} END {print $field}' emp.txt 
     
    5.打印字段数量大于4的所有行
    awk 'NF > 4' emp.txt
     
    6.打印出每行最后一个字段值>4
    awk '$NF>4' emp.txt
     
    7. 打印出所有字段数量
    awk '{nf = nf + NF}END{print nf}' emp.txt
     
    8.打印含有某关键字的行总数:
    awk '/Mary/{lines = lines + 1}END{print lines}' emp.txt  
     
    9.打印出第一个字段最大的行:
     awk '$1 > maxfield{maxfield = $1;maxline = $0}{print maxfield,maxline}' emp.txt
     
    10.最少有一个字段,空行不打印
    awk 'NF>0' emp.txt
     
    11.打印每行字段的总数及每行内容:
    awk '{print NF,$0}' emp.txt
     
    12.打印每行字符总数大于12
    awk 'length($0)>12' emp.txt
     
    13.打印每行指定字段
    awk '{print $2,$1}' emp.txt
     
    14.交换两个字段的顺序,并打印所有行:
    awk '{temp = $1;$1 = $2; $2 = temp;print}' emp.txt
     
    15.第一列被行号替换,并打印所有行:
     awk '{$1 = NR;print }' emp.txt
     
    16.删掉第二列,并打印所有
    awk '{$2 = "";print }' emp.txt
     
    17. 翻转行字段的顺序,并打印
    awk '{for(i=NF;i>0;i=i-1) printf("%s ",$i); printf(" ")}' emp.txt
     
    18.打印每行数字字段累加和:sum
    [root@monitor awkdir]# awk '{for (i=1;i<=NF;i=i+1) sum = sum + $i ;print sum}' emp.txt
    4
    7.75
    21.75
    46.75
    74.25
    96.5
     
    19.打印所有行中数字字段相加的和:sum
    [root@monitor awkdir]# awk '{for (i=1;i<=NF;i=i+1) sum = sum + $i}END{print sum}' emp.txt
    96.5
     
    20.打印每行值:绝对值
    awk '{for (i=1;i<=NF;i=i+1) if($i<0) $i=-$i;print}' emp.txt
  • 相关阅读:
    记录一次电话面试
    记录一次git合并
    HTML通用属性与常见标签
    位运算的应用
    HTML总结
    前端MVC
    常用软件
    docker常用命令
    composer install(update)时出现killed
    优化小技巧:该怎么识别百度蜘蛛呢
  • 原文地址:https://www.cnblogs.com/cuisi/p/7245882.html
Copyright © 2011-2022 走看看