zoukankan      html  css  js  c++  java
  • Shell文本处理 (4) sed、awk、diff、patch、

    1、行操作 sed

    cat  txt | sed  '2d‘      // 删除第2行

    cat  txt | sed  '2,5d’      // 删除第2-5行'

    cat  txt | sed  '2,$d‘      // 删除第2到最后1行

    cat  txt | sed  '2a   hhhhhhh'      // 第2后加上一行hhhhhhh

    cat  txt | sed  '2i   hhhhhhh'      // 第2前加上一行hhhhhhh

    cat  txt | sed  '2,5c   hhhhhhh'      // 第2-5 替换为hhhhhhh

    cat  txt | sed  -n  '2,5p'      // 取出第2-5 行

    cat  txt | sed  -s   's/aaa/bbb/g'    // aaa替换为bbb,其中aaa可以是正则表达式

    cat  txt | sed  -s   's/#.*$//g'    // 删除批注

    cat  txt | sed  -s   's/*$//g'    // 删除空白行


    2、行分段操作 awk

    last | awk '{   print  $1  " "   $3}'     //按默认的空格或tab分隔,打印第1和第3列

    last | awk '{   print  $1  "   line No.: " NR  “  column No.: ”   NF }'     ///按默认的空格或tab分隔,打印第1列,打印行号NR,行字段总数NF

    last | awk ' BEGIN  {FS=“;”}     {   print  $1  " "   $3}'     //按分号; 分隔,打印第1和第3列

    last | awk ' BEGIN  {FS=“;”}   $3>10  {   print  $1  " "   $3}'     //按分号; 分隔,若第3列大于10,打印第1和第3列

    cat pay.txt | awk '    (NR==1)  {  printf  “%10s  %10s  %10s  %10s  %10s    ”, $1,  $2, $3, $4, "Total"  }

      (NR>=2)  {  total=$2+$3+ $4   printf  “%10s  %10s  %10s  %10s  %10s     ”, $1,  $2, $3, $4, total  }  '       // 第一行表头,从第二行开始统计


    3、比较 diff


    4、补丁pitch 















  • 相关阅读:
    ArcGIS Engine 常用方法(转)
    正则表达式 C#System.Text.RegularExpressions.Regex
    ae中栅格数据转为矢量数据 (转)
    ArcEngine 渲染的使用 (转)
    C#字符串分割成数组,中间多空格
    <C++ GUI Programming with Qt4 ,Second Edition> 学习笔记
    perl module and its package
    static_cast reinterpret_cast
    阅读<inside the c++ object modle > 有感
    C++ virtual table
  • 原文地址:https://www.cnblogs.com/leeeee/p/7276146.html
Copyright © 2011-2022 走看看