兩道shell指令碼的程式設計題(sed與awk)
今天去面試一家公司的運維實習生,一個經理面的我,沒問什麼問題,就讓我翻譯國外網站上關於雲端計算資料庫的文章,翻譯了一張紙後,出了兩道shell指令碼的題,悲劇的是,全部關於sed和awk的,這兩個本來就複雜,我又沒怎麼練習,所以胡亂寫了一通,回來後看了下書,會了,在此寫下,以反思與記錄!
1、a.txt中有一行“abcdef.g “,刪除其中的g後面的空格
解:# echo "abcdef.g " > a.txt && cat -A a.txt | sed 's/ $//g' | cat -A
2、利用ifconfig提取IP 192.168.1.100中的前兩個欄位(結果為192.168)
分析:ifconfig輸出的為 inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
解:#/sbin/ifconfig eth0 | grep 'inet addr' | sed 's/^.*addr://g' | sed 's/Bcast.*$//g' |
> gawk -F. '{ print $1"."$2}'
總結:沒有好好學習shell指令碼,sed與awk很複雜,得多練習才能掌握!要是吧print $1"."$2修改為print $1"."$2"."$3"."$4 這樣可儲存為一個disIP.sh的指令碼,下次執行就可以直接顯示主機的IP地址了,很方便的。
再說兩句,今天那給我出題的人同時問我什麼事nginx,我當時以為是一個linux發行版,但實際上不是,當時他也沒多問,我今天回來是用手機上網時突然爆出個bad gateway not found/ nginx,我當時以為手機網頁後臺是linux?但又想不對啊,一般網頁報錯都是http伺服器(apache)報錯啊,說明這個nginx也是個http伺服器,於是檢視wikipedia,理解了,以下來源於wikipedia中關於nginx的解釋:
nginx(發音同engine x)是一款由俄羅斯程式設計師Igor Sysoev所開發輕量級的網頁伺服器、反向代理伺服器以及電子郵件
(IMAP/POP3)代理伺服器。起初是供俄國大型的入口網站及搜尋引擎Rambler(俄語:Рамблер)使用。此軟體BSD-like協議
下發行,可以在UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及Microsoft Windows等作業系統中執行。
nginx相較於Apache、lighttpd具有佔有記憶體少,穩定性高等優勢,並且依靠併發能力強,豐富的模組庫以及友好靈活的配置而聞名。
wikipedia中關於lighttpd的解釋:
lighttpd(發音為lighty)是一套開放原始碼的網頁伺服器,以BSD許可證釋出。相較於其他的網頁伺服器,lighttpd僅需少量的記憶體及CPU資源即可達到同樣的效能。
wikipedia中關於apache的解釋:
Apache HTTP Server(簡稱Apache)是Apache軟體基金會的一個開放原始碼的網頁伺服器,可以在大多數電腦作業系統中噝校?伸鍍淇縉教ê桶踩?訹2]被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠並且可透過簡單的API擴充,將Perl/Python等直譯器編譯到伺服器中。
後記:發現自己不懂的還是很多,主要是需要懂得太多了啊!
------------------------------------
weaklight @ 2011/05/28/0:42
------------------------------------
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25067344/viewspace-1050459/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- shell指令碼專題-----cat,find,grep,awk,sed(五)指令碼
- 指令碼三兄弟 grep、awk、sed指令碼
- shell 中 grep、sed、awk 命令
- awk指令碼語言程式設計指南指令碼程式設計
- Shell 指令碼程式設計陷阱指令碼程式設計
- Shell指令碼之sed詳解指令碼
- 【shell筆記>命令】grep,sed,awk筆記
- Shell字元操作命令——grep、sed、awk字元
- BASH Shell的指令碼程式設計(轉)指令碼程式設計
- 【Shell】sed xargs grep awk的組合用法
- Shell指令碼程式設計規範與變數(shell指令碼必須要知道的規矩!)指令碼程式設計變數
- shell指令碼程式設計筆記指令碼程式設計筆記
- 7.shell指令碼程式設計指令碼程式設計
- 初識shell指令碼程式設計指令碼程式設計
- shell指令碼程式設計基礎指令碼程式設計
- [linux]sed與awkLinux
- Shell指令碼程式設計初體驗指令碼程式設計
- Shell程式設計-01-Shell指令碼初步入門程式設計指令碼
- Linux Shell程式設計(3)——執行shell指令碼Linux程式設計指令碼
- shell程式設計(四)| sed 正規表示式程式設計
- 【學習】Linux Shell指令碼程式設計Linux指令碼程式設計
- 高階bash/shell指令碼程式設計指南指令碼程式設計
- 記錄shell指令碼程式設計相關指令碼程式設計
- 《linux命令列與shell指令碼程式設計大全》第三版 - 核心筆記(3/4):sed和gawkLinux命令列指令碼程式設計筆記
- shell高效程式設計:shell指令碼從未如此美麗程式設計指令碼
- 《Linux命令列與shell指令碼程式設計大全》第五章理解shellLinux命令列指令碼程式設計
- shell程式設計-sed命令詳解(超詳細)程式設計
- Linux命令列與shell指令碼程式設計入門經驗Linux命令列指令碼程式設計
- sed、awk——運維必須掌握的兩個工具運維
- Linux Shell指令碼程式設計-基礎1Linux指令碼程式設計
- 10分鐘入門Shell指令碼程式設計指令碼程式設計
- Shell指令碼程式設計30分鐘入門指令碼程式設計
- 好程式設計師Linux雲端計算教程分享Shell指令碼面試題程式設計師Linux指令碼面試題
- Linux shell程式設計(一)shell指令碼中的變數詳解Linux程式設計指令碼變數
- 【Shell】【經驗】awk sed grep find sort常用配搭用法
- shell指令碼程式設計之選擇控制結構指令碼程式設計
- shell指令碼程式設計學習筆記-運算子指令碼程式設計筆記
- shell指令碼程式設計學習筆記——變數指令碼程式設計筆記變數