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
-
變量
- 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