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。在進行介紹三大工具前,我們先總結一下檔案萬用字元和正規表示式。檔案萬用字元主要就是對檔案的查詢進行檔名的模糊查詢,而正規...