zoukankan      html  css  js  c++  java
  • Linux打印输出指定行

    打印前 N 行内容

    # head 打印前 6 行内容
    head -6 file.txt
    head -n 6 file.txt
    
    # sed 打印前 6 行内容
    sed -n '1,6p' file.txt
    
    # awk 打印前 6 行内容
    awk 'NR<6' file.txt

    打印指定行内容

    # sed 打印第 6 行内容
    sed -n '6p' file.txt
    
    # awk 打印第 6 行内容
    awk 'NR==6' file.txt
    
    # tail 配合 head,打印指定行内容
    tail -n +6 file.txt | head -1

     打印指定范围行内容

    # sed 打印 6~10 行内容
    sed -n '6,10p' file.txt
    
    # awk 打印 6~10 行内容
    awk 'NR>4 && NR<11' file.txt
    
    # tail 配合 head,打印 6~10 行内容
    tail -n +6 file.txt | head -6
    
    打印跨行内容
    
    # sed 打印第 3 行 和 6~7 行内容
    sed -n '3p;6,7p' file.txt
    
    # awk 打印第 3 行 和 6~7 行内容
    awk 'NR==3 || (NR>4 && NR<8)' file.txt

     打印奇偶行内容

    # 打印奇数行内容
    # NR 表示行号
    awk 'NR%2!=0' file.txt
    awk 'NR%2' file.txt
    
    # i 为变量,未定义变量初始值为 0,对于字符运算,未定义变量初值为空字符串
    # 读取第 1 行记录,进行模式匹配:i=!0(!表示取反)。! 右边是个布尔值,0 为假,非 0 为真,!0 就是真,因此 i=1,条件为真打印第一条记录。
    # 读取第 2 行记录,进行模式匹配:i=!1(因为上次 i 的值由 0 变成了 1),条件为假不打印。
    # 读取第 3 行记录,因为上次条件为假,i 恢复初值为 0,继续打印。以此类推...
    # 上述运算并没有真正的判断记录,而是布尔值真假判断。
    awk 'i=!i' file.txt
    
    # m~np:m 表示起始行;~2 表示:步长
    sed -n '1~2p' file.txt
    
    # 先打印第 1 行,执行 n 命令读取当前行的下一行,放到模式空间,后面再没有打印模式空间行操作,所以只保存不打印,同等方式继续打印第 3 行。
    sed -n '1,$p;n' file.txt
    sed -n 'p;n' file.txt

     打印偶数行

    # 打印偶数行内容
    awk 'NR%2==0' file.txt
    awk '!(NR%2)' file.txt
    awk '!(i=!i)' file.txt
    sed -n 'n;p' file.txt
    sed -n '1~1p' file.txt
    sed -n '1,$n;p' file.txt

     打印最后 N 行内容

    # tail 打印后 6 行内容
    tail -6 file.txt
    tail -n 6 file.txt

    打印最后一行内容

    # tail 打印最后一行内容
    tail -n 1 file.txt
    
    # sed 打印最后一行内容
    sed -n '$p' file.txt
    
    # awk 打印最后一行内容
    awk 'END {print}' file.txt

     打印匹配行内容

    # 打印以 "1" 开头的行内容
    sed -n '/^1/p' file.txt
    grep "^1" file.txt
    
    # 打印不以 "1" 开头的行内容
    sed -n '/1/!p' file.txt
    grep -v "^1" file.txt
    
    # 从匹配 "02" 行到第 6 行内容
    sed -n '/02/,6p' file.txt
    
    # 打印匹配 "02" 行 到匹配 "06" 行内容
    sed -n '/02/,/06/p' file.txt
  • 相关阅读:
    JAVA DBUTils和连接池
    JAVA jsp技术
    java cookie学习
    grub引导
    更改网卡顺序及名称
    ambari 警告信息
    radhat7.2 救援模式
    radhat7.2 系统引导修复
    sehll编程入门
    HBase安装部署
  • 原文地址:https://www.cnblogs.com/sharesdk/p/14133293.html
Copyright © 2011-2022 走看看