• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            那誰(shuí)的技術(shù)博客

            感興趣領(lǐng)域:高性能服務(wù)器編程,存儲(chǔ),算法,Linux內(nèi)核
            隨筆 - 210, 文章 - 0, 評(píng)論 - 1183, 引用 - 0
            數(shù)據(jù)加載中……

            放棄Shell,主攻Perl

            上個(gè)禮拜,要求完成一個(gè)任務(wù),從下載特定網(wǎng)頁(yè)并從中抓取一些感興趣的字段.

            做法很簡(jiǎn)單,用wget獲取網(wǎng)頁(yè)代碼,采用正則表達(dá)式抓取數(shù)據(jù).

            剛開(kāi)始采用Shell,但是到了采用正則的時(shí)候出現(xiàn)了問(wèn)題,我承認(rèn)我的sed玩的不夠好,這個(gè)任務(wù)應(yīng)該可以用sed搞定的,但是整了半天都沒(méi)整好,有人又說(shuō)可以用grep,弄了半天都沒(méi)有完成.我開(kāi)始對(duì)使用shell中的小工具反感了起來(lái),雖然根據(jù)Unix的哲學(xué),一個(gè)工具完成一件事情,通過(guò)管道等膠合劑把它們連接在一起.但是,會(huì)出現(xiàn)以下的問(wèn)題:1)對(duì)我那個(gè)問(wèn)題而言,可能同時(shí)有多個(gè)工具可以完成任務(wù),而sed,awk之類的學(xué)習(xí)成本稍高 2)有一些問(wèn)題,shell中沒(méi)有很好的解決辦法,比如我將每個(gè)網(wǎng)站的地址和抓取數(shù)據(jù)所需的正則表達(dá)式存儲(chǔ)在了mysql數(shù)據(jù)庫(kù)中,shell中有工具可以訪問(wèn)數(shù)據(jù)讀取它們嗎?(如果你知道請(qǐng)告訴我) 3)并不是任何的任務(wù)shell中都可以找到工具完成,比如我想寫(xiě)一個(gè)測(cè)試我的服務(wù)器的測(cè)試客戶端,如果我不會(huì)腳本語(yǔ)言,那么很有可能又得從頭寫(xiě)一個(gè)C程序來(lái)完成這個(gè)工作.

            也就是說(shuō),我需要一個(gè)工具,功能足夠的完備,可以操作文本文件,訪問(wèn)數(shù)據(jù)庫(kù),建立socket連接等等,同時(shí),對(duì)一些問(wèn)題的解決有統(tǒng)一的方案,比如我如果要在文本文件中查找我所需的字段不再要去考慮是采用grep,sed還是awk了.

            滿足這些要求的腳本語(yǔ)言似乎只有Perl和Python了,去年學(xué)過(guò)一些Python,感覺(jué)語(yǔ)法簡(jiǎn)潔很容易入門,不過(guò)聽(tīng)說(shuō)速度不夠快,今年開(kāi)始轉(zhuǎn)向了Perl,Perl的語(yǔ)法非常的靈活,是我見(jiàn)到的最靈活的語(yǔ)言,這也許跟這門語(yǔ)言的發(fā)明人是個(gè)語(yǔ)言學(xué)家,倡導(dǎo)"There is more than one way to do it"有關(guān)吧.剛開(kāi)始很不習(xí)慣,畢竟我是C程序員出身,習(xí)慣了C的語(yǔ)言,現(xiàn)在慢慢的適應(yīng)了.

            話歸正題,這里說(shuō)的放棄Shell指的是不在Shell編程上多花時(shí)間,但是基本的Shell命令和概念還是應(yīng)該有的,萬(wàn)變不離其宗,不懂shell的程序員不能算是優(yōu)秀的unix程序員,只不過(guò)我更加需要一個(gè)通用的工具去完成我大部分的工作罷了.

            posted on 2008-03-17 22:22 那誰(shuí) 閱讀(3769) 評(píng)論(6)  編輯 收藏 引用 所屬分類: Perl

            評(píng)論

            # re: 放棄Shell,主攻Perl  回復(fù)  更多評(píng)論   

            呵呵 我也是因?yàn)閟ocket的原因 看的perl 現(xiàn)在服務(wù)器的陪測(cè)程序 都是用perl寫(xiě)的。特適合寫(xiě)陪測(cè)腳本。下面是我以前寫(xiě)的幾個(gè)服務(wù)器的陪測(cè)腳本http://www.shnenglu.com/CppExplore/archive/2007/12/04/37752.html
            2008-03-18 09:14 | cppexplore

            # re: 放棄Shell,主攻Perl[未登錄](méi)  回復(fù)  更多評(píng)論   

            了解 Shell 編程對(duì)用好 Shell 很重要的 ;)
            2008-08-03 19:04 | Lee

            # re: 放棄Shell,主攻Perl  回復(fù)  更多評(píng)論   

            Shell可以的做的事情很多,如果你只是做簡(jiǎn)單的事情,更適合。
            你覺(jué)得困難,那是因?yàn)槟銢](méi)有用心去學(xué)習(xí)。譬如你要調(diào)用mysql,用shell直接就可以調(diào)用mysql的工具啊……
            2008-11-24 15:37 | quady

            # re: 放棄Shell,主攻Perl  回復(fù)  更多評(píng)論   

            更加需要一個(gè)通用的工具去完成我大部分的工作罷了
            我也是這樣認(rèn)為的,要用一個(gè)更通用的工具來(lái)完成大部分任務(wù),而不是老是在考慮該用awk, sed, 還是其它小工具來(lái)做某一件事,雖然能很簡(jiǎn)單地完成.
            2009-09-17 16:58 | gdut

            # re: 放棄Shell,主攻Perl  回復(fù)  更多評(píng)論   

            你還是shell用的少
            2011-09-10 12:32 | 匿名
            久久99精品国产麻豆婷婷| 99精品久久精品一区二区| 久久久久久亚洲精品不卡| 久久久久国产精品三级网| 久久精品国产乱子伦| 青草影院天堂男人久久| 久久精品中文无码资源站| 久久精品国产只有精品2020| 一本综合久久国产二区| 国产精品无码久久久久久| 伊人情人综合成人久久网小说| 99re这里只有精品热久久| 少妇无套内谢久久久久| 久久国产乱子精品免费女| 久久久久se色偷偷亚洲精品av| 国产高潮久久免费观看| 久久九九精品99国产精品| 亚洲人成网站999久久久综合| 久久亚洲精品中文字幕三区| 久久精品人成免费| 久久久久久曰本AV免费免费| 久久午夜综合久久| 精品国产婷婷久久久| 久久久精品一区二区三区| 狠狠88综合久久久久综合网| 中文成人无码精品久久久不卡| 久久久久久国产a免费观看不卡| 国产韩国精品一区二区三区久久| 色综合久久久久无码专区| 久久成人小视频| 2021国产精品久久精品| 亚洲精品WWW久久久久久| 久久中文字幕无码专区| 精品久久综合1区2区3区激情| 国产成人综合久久久久久| 国产精品成人无码久久久久久 | 午夜精品久久久久久99热| 国产精品久久久久免费a∨| 无码人妻久久一区二区三区蜜桃| 青青草国产97免久久费观看| 欧美伊人久久大香线蕉综合69 |