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
  • 相关阅读:
    可变参数模板的递归解析
    在Ubuntu上安装多个版本的g++ 并进行默认版本切换
    不错的威盾PHP加密专家解密算法
    文章相关性分析详细介绍
    c#连接mysql中文乱码解决方案(MySql.Data.dll)
    firefox用12306Helper 0.2结合ie tab+自动订火车票和完成支付全攻略
    Nutch命令大全
    Jtable利用SetModel进行数据绑定
    在php中使用CKEDITOR在线编辑器
    Nutch1.2搜索引擎使用详解
  • 原文地址:https://www.cnblogs.com/cuisi/p/7245882.html
Copyright © 2011-2022 走看看