码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2015-08-21 19:40:32      阅读:359      评论:0      收藏:0      [点我收藏+]

标签:linux培训   awk数组   老男孩教育   

技术分享

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

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

本文出自 “老男孩linux运维” 博客,请务必保留此出处http://oldboy.blog.51cto.com/2561410/1686891

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

标签:linux培训   awk数组   老男孩教育   

原文地址:http://oldboy.blog.51cto.com/2561410/1686891

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!