awk學習

awk 學習

  • awk會根據空格和製表符,將每一行分紅若干字段,依次用$1$2$3表明第一個字段、第二個字段、第三個字段等等。
    echo "i love you" |awk '{print $0}' //打印全部行
     i love you
     echo "i love you" |awk '{print $1}' //打印第一個字段
     i
     echo "i love you" |awk '{print $2}' //打印第二個字段
     love
    # 格式
    $ awk 動做 文件名
  • 保存/etc/passwd
  • 變量shell

    1. NF:The variable NF is set to the total number of fields in the input record.
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/var/daemon:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    
    1. awk -F ':' '{print $1}' a.md
    2. awk -F ':' 'NR %2 ==0 {print $1}' a.md //取偶數行
    3. awk -F ':' 'NR >=3 {print $1}' a.md //取當前行>3的
    4. awk '{if ($2 > 18) print $0}' log.txt //取出第年齡>18的
    5. awk '{if ($2 > 18) print $0; else print "------"}' log.txt
相關文章
相關標籤/搜索