ITPub博客

首页 > 应用开发 > IT综合 > 两道shell脚本的编程题(sed与awk)

两道shell脚本的编程题(sed与awk)

原创 IT综合 作者:oneweaklight 时间:2011-05-28 00:46:15 0 删除 编辑
今天去面试一家公司的运维实习生,一个经理面的我,没问什么问题,就让我翻译国外网站上关于云计算数据库的文章,翻译了一张纸后,出了两道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
------------------------------------
[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25067344/viewspace-1050459/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-03-18

  • 博文量
    49
  • 访问量
    209386