基本用法
echo "this is a test" | awk { print $0 }
## 輸出為
this is a test
echo "this is a test" | awk { print $1 }
## 輸出為
this
echo "this is a test" | awk { print $1, $2 }
## 輸出為
this is
test.txt的文件內容如下
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
awk -F : { print $1 } /etc/test.txt
## 輸出為
root
bin
daemon
adm
lp
awk -F : BEGIN {print "start1,start7"} {print $1 "," $7} END {print "end1,end7"} /etc/test.txt
## 輸出為
start1,start7
root,/bin/bash
bin,/sbin/nologin
daemon,/sbin/nologin
adm,/sbin/nologin
lp,/sbin/nologin
end1,end7
BEGIN語句在所有文本處理動作執行之前被執行,END在所有文本處理動作執行之后被執行。
awk -F : { print NR " " NF " " $0 } /etc/test.txt
## 輸出為
1 7 root:x:0:0:root:/root:/bin/bash
2 7 bin:x:1:1:bin:/bin:/sbin/nologin
3 7 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 7 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 7 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
高級用法
輸出字符串的長度:
awk BEGIN { print length("this is a text") }
## 輸出為
14
awk -F : { print toupper($1) } /etc/test.txt
## 輸出為
ROOT
BIN
DAEMON
ADM
LP
awk -F : $0 ~ /daemon/ /etc/test.txt
## 輸出為
daemon:x:2:2:daemon:/sbin:/sbin/nologin
awk條件操作符:
awk -F : { if ($1 > "d") { print $1 } else { print "-" } } /etc/test.txt
## 輸出為
root
-
daemon
-
lp
{
if ($1 > "d") {
print $1
} else {
print "-"
}
}
awk -F : -f test.sh /etc/test.txt
## 輸出為
root
-
daemon
-
lp
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/129715.html
閱讀 1353·2023-01-11 13:20
閱讀 1700·2023-01-11 13:20
閱讀 1212·2023-01-11 13:20
閱讀 1904·2023-01-11 13:20
閱讀 4164·2023-01-11 13:20
閱讀 2752·2023-01-11 13:20
閱讀 1397·2023-01-11 13:20
閱讀 3666·2023-01-11 13:20