Linux三劍客企業級經典面試題解答實戰

2021-09-03 05:40:08 字數 2385 閱讀 8537

linux三劍客企業級經典面試題解答實戰

面試題:請過濾oldboy.log中在device: {}裡面出現了多少次oldboy,過濾並統計出來。

oldboy is a linuxer.

device:

oldboy

device:

oldboy

device:

device:

解答:本題可利用sed和awk取區間的用法:

1)利用數字行數取區間

[oldboy@oldboy ~]$ seq 10 >test.log      

[oldboy@oldboy ~]$ sed -n '2,5p' test.log

2 34 5

[oldboy@oldboy ~]$ awk 'nr>1&&nr<6'test.log              

2 34 5

2)利用字串匹配取區間

本題可以取以"device"開頭以 "}"結尾,然後將裡面的符合要求的字串過濾計數就可以了。

取區間的方法:

sed -n '/^device/,/\}$/p' oldboy.log

awk '/device: /' oldboy.log

sed -n '/區間開始標識/,/區間結束標識/p' oldboy.log

3)本題完整答案:這裡給3個方法

sed -n '/^device/,/\}$/p' oldboy.log|grep -w"oldboy"|wc -l

awk '/device: /' oldboy.log|grep -w oldboy|wc -l

awk '/device: / end' oldboy.log

演示:[oldboy@oldboy ~]$ sed -n '/^device/,/\}$/p'oldboy.log|grep -w "oldboy"|wc -l                      

4 [oldboy@oldboy ~]$ awk '/device: / end' oldboy.log

4 [oldboy@oldboy ~]$ awk '/device: /' oldboy.log|grep-w oldboy|wc -l                      

4 4)考慮到面試題的企業裡的通用性,即一行還可能有多個oldboy,即原題改為如下:

[oldboy@oldboy ~]$ cat oldboy.log

oldboy is a linuxer.

device:

oldboy

device:

oldboyoldboy

device:

device:

oldboy

因此本題最佳答案,老男孩老師從學生的解答中選舉優秀答案如下:

sed -n '/^device/,/\}$/p' oldboy.log|xargs -n 1|sort|grep-w oldboy|wc -l

awk '/device: /' oldboy.log|grep -w oldboy|tr" " "\n"|wc -l

awk '//end' oldboy.log

sed -n '//'  oldboy.log | tr ' ' '\n' | wc -l

演示:[oldboy@oldboy ~]$ sed -n '/^device/,/\}$/p'oldboy.log|xargs -n 1|sort|grep -w oldboy|wc -l

9 [oldboy@oldboy ~]$ awk '/device: /' oldboy.log|grep-w oldboy|tr " " "\n"|wc -l

9 [root@littleboy ~]# awk '//end' oldboy.log

9 [root@littleboy ~]# sed -n '//'oldboy.log|tr ' ' '\n'| wc -l

9 普通人員可以就題論題,高手的解答多考慮通用性,高手和低手的差別就在於此!

本文出自老男孩教育的第三本書精品書籍,《跟老男孩學習linux運維:精通linux三劍客》即將出版,敬請期待!

運維

q

384467551架構師

q

390642196

**(務必標記**)即可免費獲得《

linux三劍客實踐》電子書一套!

**維好工作,就選北京老男孩it教育!

Linux三劍客企業級經典面試題解答實戰

linux三劍客企業級經典面試題解答實戰 面試題 請過濾oldboy.log中在device 裡面出現了多少次oldboy,過濾並統計出來。oldboy is a linuxer.device oldboy device oldboy device device 解答 本題可利用sed和awk取區間...

Linux命令三劍客

grep的簡單使用 grep的主要作用 文字搜尋工具,根據使用者指定的 模式 對目標文字逐行進行匹配檢查 列印匹配到的行 grep的工作模式 由正規表示式字元及文字字元所編寫的過濾條件 grep的用法 grep options pattern file options v 顯示不被pattern匹配...

文字三劍客

檔案萬用字元和正規表示式 文字過濾工具grep linux系統中,一切皆檔案。強大的文字編輯和處理工具便必不可少了,在linux系統中,有文字處理三劍客 grep,sed,awk。在進行介紹三大工具前,我們先總結一下檔案萬用字元和正規表示式。檔案萬用字元主要就是對檔案的查詢進行檔名的模糊查詢,而正規...