博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

转(linux shell)(2)

Posted on 2016-09-28 16:01  moss_tan_jun  阅读(113)  评论(0编辑  收藏  举报
 
http://oldboy.blog.51cto.com/2561410/1665163
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
      users
      1 to
      1 sections
      1 resources
      1 provides
      1 project
      1 Please
      1 of
      1 number
      more
      1 installations
      1 infomation
      1 implement
      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
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
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
      v
      1 j
      1 g
      1 P
      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
      v
      1 j
      1 g
      1 P
      1 .
      1 ,