awk测试题

考试题七:处理以下文件内容,将域名取出并根据域名进行计数排序处理:(百度和sohu面试题)
oldboy.log
http://www.etiantian.org/index.html
http://www.etiantian.org/1.html
http://post.etiantian.org/index.html
http://mp3.etiantian.org/index.html
http://www.etiantian.org/3.html
http://post.etiantian.org/2.html
解答:
老男孩老师(2934145242) 9:37:41
[root@web01 /server/scripts]# awk '{++S[$1]} END {for(key in S) print S[key],key}' access_2010-12-8.log|sort -rn
35 59.33.26.105
23 123.122.65.226
8 124.115.4.18
老男孩老师(2934145242) 9:37:52
awk数组

湖北 陈乐撤回了一条消息
老男孩老师(2934145242) 9:38:34
[root@web01 /server/scripts]# awk '{++S[$1]} END {for(key in S) print S[key],key}' test.txt|sort -rn
4 www.etiantian.org
2 blog.etiantian.org
1 bbs.etiantian.org
老男孩老师(2934145242) 9:39:03
第一篇:详解linux netstat输出的网络连接状态信息
http://oldboy.blog.51cto.com/2561410/1184139
第二篇:庖丁解牛获取连接状态数的awk数组命令
http://oldboy.blog.51cto.com/blog/2561410/1184165
第三篇:awk数组命令经典生产实战应用拓展
http://oldboy.blog.51cto.com/blog/2561410/1184177
第四篇:老男孩培训第八节课前awk考试题案例(门户面试题解答)
http://oldboy.blog.51cto.com/2561410/1184206
第五篇:linux生产服务器有关网络状态的优化措施(告一段落)
http://oldboy.blog.51cto.com/2561410/1184228

[root@web01 /server/scripts]# openssl rand -base64 8|cut -c 1-8
M7R3cvSl
[root@web01 /server/scripts]# openssl rand -base64 8|cut -c 1-8
lqknKo1o
[root@web01 /server/scripts]# openssl rand -base64 8|cut -c 1-8
SE9ksew0
[root@web01 /server/scripts]# openssl rand -base64 8|cut -c 1-8
sUj8eCPy
[root@web01 /server/scripts]# openssl rand -base64 8|cut -c 1-8
d6afYX55

[root@web01 /oldboy]# rename "oldgirl.HTML" "oldboy.html" *HTML
[root@web01 /oldboy]# ls
fzewmfbowb_oldboy.html kfixfkghqz_oldboy.html qaxuezrdyh_oldboy.html vkftijhssz_oldboy.html
ibcmutcmyj_oldboy.html ovqxxevhlw_oldboy.html rkoxkozsfs_oldboy.html
inpdcqsmfo_oldboy.html paoreutqqd_oldboy.html sksdayeamk_oldboy.html
[root@web01 /oldboy]# rename "oldboy.html" "oldgirl.HTML" *html
[root@web01 /oldboy]# ls
fzewmfbowb_oldgirl.HTML kfixfkghqz_oldgirl.HTML qaxuezrdyh_oldgirl.HTML vkftijhssz_oldgirl.HTML
ibcmutcmyj_oldgirl.HTML ovqxxevhlw_oldgirl.HTML rkoxkozsfs_oldgirl.HTML
inpdcqsmfo_oldgirl.HTML paoreutqqd_oldgirl.HTML sksdayeamk_oldgirl.HTML

19.1.2 企业Shell面试题2:批量改名特殊案例
将上面试题19.1.1中结果文件名中的oldboy字符串全部改成oldgirl(最好用for循环实现),并且将扩展名html全部改成大写HTML。

1、先命令行处理一个
[root@web01 /oldboy]# file1=kfixfkghqz_oldboy.html
[root@web01 /oldboy]# mv {file1/oldboy.html/oldgirl.HTML}

2、脚本处理多个
方法1:
Path=/oldboy
[ -d Path
cd file1 ${file1/oldboy.html/oldgirl.HTML}
done

方法2:
rename专业改名
[root@web01 /oldboy]# rename "oldgirl.HTML" "oldboy.html" *HTML
[root@web01 /oldboy]# ls
fzewmfbowb_oldboy.html kfixfkghqz_oldboy.html qaxuezrdyh_oldboy.html vkftijhssz_oldboy.html
ibcmutcmyj_oldboy.html ovqxxevhlw_oldboy.html rkoxkozsfs_oldboy.html
inpdcqsmfo_oldboy.html paoreutqqd_oldboy.html sksdayeamk_oldboy.html
[root@web01 /oldboy]# rename "oldboy.html" "oldgirl.HTML" *html
[root@web01 /oldboy]# ls
fzewmfbowb_oldgirl.HTML kfixfkghqz_oldgirl.HTML qaxuezrdyh_oldgirl.HTML vkftijhssz_oldgirl.HTML
ibcmutcmyj_oldgirl.HTML ovqxxevhlw_oldgirl.HTML rkoxkozsfs_oldgirl.HTML
inpdcqsmfo_oldgirl.HTML paoreutqqd_oldgirl.HTML sksdayeamk_oldgirl.HTML

方法3:
mv fzewmfbowb_oldboy.html fzewmfbowb_oldgirl.HTML
mv fzewmfbowb_oldboy.html fzewmfbowb_oldgirl.HTML
mv fzewmfbowb_oldboy.html fzewmfbowb_oldgirl.HTML

[root@web01 /oldboy]# ls *.html|awk -F '_' '{print "mv",1"oldgirl.HTML"}'
mv fzewmfbowb_oldboy.html fzewmfbowb_oldgirl.HTML
mv ibcmutcmyj_oldboy.html ibcmutcmyj_oldgirl.HTML
mv inpdcqsmfo_oldboy.html inpdcqsmfo_oldgirl.HTML
mv kfixfkghqz_oldboy.html kfixfkghqz_oldgirl.HTML
mv ovqxxevhlw_oldboy.html ovqxxevhlw_oldgirl.HTML
mv paoreutqqd_oldboy.html paoreutqqd_oldgirl.HTML
mv qaxuezrdyh_oldboy.html qaxuezrdyh_oldgirl.HTML
mv rkoxkozsfs_oldboy.html rkoxkozsfs_oldgirl.HTML
mv sksdayeamk_oldboy.html sksdayeamk_oldgirl.HTML
mv vkftijhssz_oldboy.html vkftijhssz_oldgirl.HTML
[root@web01 /oldboy]#
[root@web01 /oldboy]#
[root@web01 /oldboy]# ls *.html|awk -F '
' '{print "mv",1"_oldgirl.HTML"}'|bash
[root@web01 /oldboy]# ls
fzewmfbowb_oldgirl.HTML kfixfkghqz_oldgirl.HTML qaxuezrdyh_oldgirl.HTML vkftijhssz_oldgirl.HTML
ibcmutcmyj_oldgirl.HTML ovqxxevhlw_oldgirl.HTML rkoxkozsfs_oldgirl.HTML
inpdcqsmfo_oldgirl.HTML paoreutqqd_oldgirl.HTML sksdayeamk_oldgirl.HTML

[root@web01 ~]# ls *.HTML|awk -F '_' '{print 0,10,$1"_oldboy.html"}'|bash

19.1.3 企业Shell面试题3:批量创建特殊要求用户案例
批量创建10个系统帐号oldboy01-oldboy10并设置密码(密码为随机数,要求字符和数字等混合)。
不用for循环的实现思路:http://user.qzone.qq.com/49000448/blog/1422183723
解答:
本题的详细答案见第11章范例11_14,此处仅作为Shell案例集中收集整理。

19.1.8 企业Shell面试题8:筛选符合长度的单词案例
利用bash for循环打印下面这句话中字母数不大于6的单词(某企业面试真题)。
I am oldboy teacher welcome to oldboy training class
解答:
本题的详细答案见第13章范例13_4,此处仅作为Shell案例集中收集整理。

你可能感兴趣的:(awk测试题)