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 動做 文件名
變量shell
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