awk與sed命令面試題整理

一、sed命令
123abc456
456def123
567abc789
789def567
要求輸出:
456ABC123
123DEF456
789ABC567
567DEF789
答案:
sed -r -i 's#(...)(.)(.)(.)(...)#\5\u\2\u\3\u\4\1#g' 22.txt
返回
sed -r -i 's#(...)(.)(.)(.)(...)#\5\l\2\l\3\l\4\1#g' 22.txthtml

二、awk命令
100
a 100
b -50
c -20
d -30
要求輸出結果爲:
100
a 100
200
b -50
150
c -20
130
d -30
答案:
awk 'sum+=$1+$2{if(NR==1) print $1;else if(NR==5)print $0;else print $1"\t"$2"\n"sum}' 11.txt 面試

三、騰訊一 shell試題.
假設qq. tel文件內容:
12334:13510014336
12345:12334555666
12334:12343453453
12099:13598989899
12334:12345454545
12099:12343454544
分類以下:
[12334]
13510014336
12343453453
...........
[12099]
13598989899
12343454544shell

答案:
[root@localhost ~]# cat qq.tel | sort -r | awk -F: '{if (tmp!=$1) {tmp=$1;print "["tmp"]"} print $2}'
[12345]
12334555666
[12334]
13510014336
12345454545
12343453453
[12099]
13598989899
12343454544post

四、[騰訊面試題]:一個文本類型的文件,裏面每行存放
登錄者的IP (某些行是重複的),寫一個shell腳本輸出
登錄次數最多的用戶。
IP內容以下:
219.217.49. 14
175.43.4.87
87.48.98.1
59.73.38.25
219.217.50.14
59.92.48.32
219.217.49.14
59.72.38.142
59.73.38.25
219.217.49.14htm


五、處理一 下文件內容,將域名取出並進行計數排數,如處理: ;
http: //www . baidu. com/ index. html
http: / / ww .baidu. com/1.html
http:/ / www . baidu. com/2. html
http: / /post . baidu. com/ index . html
http: / /mp3. baidu. com/ index. html
http:/ / www . baidu. com/3. html
http: / /post.baidu. com/2. html
獲得如F結果:域名的出現次數,域名
4 www . baidu. com
2 post .baidu. com
1 mp3. baidu. com域名

答案:
[root@localhost ~]# awk -F/ '{print $3}' yuming.txt | sort -r | uniq -c
4 www.baidu.com
2 post.baidu.com
1 mp3.baidu.comclass

相關文章
相關標籤/搜索