老男孩23期课堂实战考察某企业shell面试考试题

wKiom1XW4BagvgPxAAC_N_Bdskw467.jpg

1、按单词出现频率降序排序!
2、按字母出现频率降序排序!
the squid project provides a number of resources to assist users design,implement and support squid installations. Please browse the documentation and support sections for more infomation

解答:
cat test.txt 
the squid project provides a number of resources to assist users design,implement and support squid installations. Please browse the documentation and support sections for more infomation

按单词排序解答:
法1:
[root@oldboy ~]# awk -F "[,. ]" '{for(i=1;i<=NF;i++)array[$i]++}END{for(key in array)print array[key],key|"sort -nr"}' oldboy.txt|column -t
2  the
2  support
2  squid
2  and
1  users
1  to
1  sections
1  resources
1  provides
1  project
1  Please
1  of
1  number
1  more
1  installations
1  infomation
1  implement
1  for
1  documentation
1  design
1  browse
1  assist
1  a
1
法2:
[root@MySQL ~]# tr "[ ,.]" "\n"<oldboy.txt|grep -v "^$"|sort|uniq -c|sort -rn 
      2 the
      2 support
      2 squid
      2 and
      1 users
      1 to
      1 sections
      1 resources
      1 provides
      1 project
      1 Please
      1 of
      1 number
      1 more
      1 installations
      1 infomation
      1 implement
      1 for
      1 documentation
      1 design
      1 browse
      1 assist
      1 a

按字母频率排序
法1
[root@MySQL ~]# tr "{ |,|.}" "\n"<oldboy.txt|awk -F ""  '{for(i=1;i<=NF;i++)array[$i]++}END{for(key in array)print array[key],key|"sort -nr"}'
19 s
17 e
16 o
14 t
12 n
12 i
11 r
9 a
8 u
7 p
7 d
6 m
4 l
4 c
3 f
2 q
2 h
2 b
1 w
1 v
1 P
1 j
1 g

[root@MySQL ~]# tr "[ ,.]" "\n"<oldboy.txt|awk '{for(i=1; i<=length($0); i++) ++S[substr($0,i,1)]} END {for(a in S) print S[a], a|"sort -rn"}'
19 s
17 e
16 o
14 t
12 n
12 i
11 r
9 a
8 u
7 p
7 d
6 m
4 l
4 c
3 f
2 q
2 h
2 b
1 w
1 v
1 P
1 j
1 g


[root@db02 oldboy20151227]# echo "the squid project provides a number of resources toassist users design,implement and support squid installations. Please browsethe documentation and support sections for more infomation"|sed 's# ##g'|sed -r 's#(.)#\1\n#g'|sort|uniq -c|sort -rn -k1
     19 s
     17 e
     16 o
     14 t
     12 n
     12 i
     11 r
      9 a
      8 u
      7 p
      7 d
      6 m
      4 l
      4 c
      3 f
      2 q
      2 h
      2 b
      1 w
      1 v
      1 j
      1 g
      1 P
      1 .
      1 ,
      1 
      
      [root@db02 oldboy20151227]# echo "the squid project provides a number of resources toassist users design,implement and support squid installations. Please browsethe documentation and support sections for more infomation"|sed 's# ##g'|awk -F "" '{for(n=1;n<=NF;n++) print $n}'|sort|uniq -c|sort -k1 -nr
     19 s
     17 e
     16 o
     14 t
     12 n
     12 i
     11 r
      9 a
      8 u
      7 p
      7 d
      6 m
      4 l
      4 c
      3 f
      2 q
      2 h
      2 b
      1 w
      1 v
      1 j
      1 g
      1 P
      1 .
      1 ,

有关AWK数组的超详细案例讲解就在老男孩教育最新高级运维班课程!

你可能感兴趣的:(Linux培训,老男孩教育,awk数组)