awk
awk
- awk 是一種編程語言,用於在linux/unix下對文本和數據進行處理。數據能夠來自標準輸入(stdin)、一個或多個文件,或其它命令的輸出。它支持用戶自定義函數和動態正則表達式等先進功能,是linux/unix下的一個強大編程工具。它在命令行中使用,但更可能是做爲腳原本使用。awk有不少內建的功能,好比數組、函數等,這是它和C語言的相同之處,靈活性是awk最大的優點。
awk 命令格式和選項
語法格式:
- awk [options] 'script' var=value files
- awk [options] -f scriptfile var=value files
經常使用命令選項
- -F fs, fs 指定輸入分隔符,fs能夠時字符串或正則表達式
- -v var=value 賦值一個用戶定義變量,將外部變量傳遞給awk
- -f scriptfile 從腳本文件中讀取awk命令
實例
- head -n2 test.txt|awk -F ':' '{print $1}'
- head -n2 test.txt|awk -F ':' '{print $0}'
- awk -F ':' '{print $1"#"$2"#"$3"#"$4}'
- awk '/oo/' test.txt
- awk -F ':' '$1 ~/oo/' test.txt
- awk -F ':' '/root/ {print $1,$3} /test/ {print $1,$3}' test.txt
- awk -F ':' '$3=="0"' /etc/passwd
- awk -F ':' '$3>="500"' /etc/passwd
- awk -F ':' '$3>=500' /etc/passwd
- awk -F ':' '$7!="/sbin/nologin"' /etc/passwd
- awk -F ':' '$3<$4' /etc/passwd
- awk -F ':' '$3>"5" && $3<"7"' /etc/passwd
- awk -F ':' '$3>1000 || $7=="/bin/bash"' /etc/passwd
- head -5 /etc/passwd |awk -F ':' '{OFS="#"} {print $1,$3,$4}‘
- awk -F ':' '{OFS="#"} {if ($3>1000) {print $1,$2,$3,$4}}' /etc/passwd
- head -n3 /etc/passwd | awk -F ':' '{print NF}‘
- head -n3 /etc/passwd | awk -F ':' '{print NR}‘
- awk 'NR>40' /etc/passwd
- awk -F ':' 'NR<20 && $1 ~ /roo/' /etc/passwd
- head -n 3 /etc/passwd |awk -F ':' '$1="root"‘
- awk -F ':' '{(tot=tot+$3)}; END {print tot}' /etc/passwd
- awk -F ':' '{if ($1=="root") {print $0}}' /etc/passwd
歡迎關注本站公眾號,獲取更多信息