基本用法
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語句在所有文本處理動作執(zhí)行之前被執(zhí)行,END在所有文本處理動作執(zhí)行之后被執(zhí)行。
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
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129715.html
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20