統(tǒng)計(jì)passwd文件每個(gè)單詞出現(xiàn)的次數(shù)压怠,這里以前5行為例
[root@web01 ~]# head -5 /etc/passwd
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數(shù)組的2次for循環(huán)】
[root@web01 ~]# head -5 /etc/passwd | awk -F "[:/]" '{for (i=1;i<=NF;i++) S[$i]++}END{for (key in S) print key,S[key]}'
4 2
10
7 1
nologin 4
bin 4
x 5
adm 3
sbin 5
bash 1
spool 1
var 2
0 2
1 2
lpd 1
2 2
daemon 2
root 3
lp 2
3 1
【先把數(shù)據(jù)處理成一列? -tr】
[root@web01 ~]# head -5 /etc/passwd|tr "[:/]" "\n"|sed '/^$/d'
【用awk的內(nèi)置變量RS做成一列】
[root@web01 ~]# head -5 /etc/passwd|awk -vRS="[:/\n]+" '{print $0}'
【接下來就可以用awk單次for循環(huán),也可以用sort+uniq處理】