jasmine214--love

          只有當你的內心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
          posts - 731, comments - 60, trackbacks - 0, articles - 0

          淺析shell+sed+awk和perl和python

          Posted on 2010-11-25 16:53 幻海藍夢 閱讀(831) 評論(0)  編輯  收藏 所屬分類: Linux
          PS: 2011-1-25 現在再來看這篇文章,覺得自己以前 真的不懂,竟然在shell和perl之間迷茫,現在才明白,shell+awk+sed精通比學perl更重要,因為他更加的靈活,而且更多的與linux的底層打交道,時間久了,也會提高自己對linux的熟練程度,最終目標達到精通,嗯,現在我的目標很明確了,我要精通shell,什么東西只要精通一個就好了,并不需要太多,求的是質量,關鍵在于我可以完成需要達到的效果即可。

          最近在linux下工作時,越來越覺得迫切需要掌握一門腳本語言,于是 開始選擇到底學什么?現在比較流行的腳本語言中,perl和python的呼聲最大,所以一直不知道該學那一個。今天在網上查了一下,看到這篇博客覺得挺 有幫助,故和大家分享一下。

          原文:shell+sed+awk和perl和python的區別
          地址:
          [url]http://blog.csdn.net/annicybc/archive/2008/04/19/2308146.aspx[/url]


          最近開始學習shell+sed+awk,偶然在LinuxSir.Org看到下面這篇網友評論文章,覺得有點 意思,就摘抄到此,讓更多需要的人容易看到它!

          shell+sed+awk
          三者中功能最弱,沒有調試程序,大多數 操作必須通過運行其他程序才能執行,所以需要更多時間、內存并在進程表中占有位置。內置的算術運算很有限,數組下標必須是數字等。但它對運行環境要求低, 小巧便捷,是學習系統腳本編程的基礎。

          Perl
          設 計之初就是為了方便編寫復雜高效的系統腳本,它也是應該最為廣泛的腳本編程語言。它在編程方面相當于瑞士軍刀,對字符、文本文件處理能力很強,以前要求 shell+sed+awk+C才能完成的任務,只需perl腳本就可以完成了。而且應用領域一直在拓寬,支持面向對象程序設計。

          Python
          面 向對象的動態公共語言,適于腳本編程和快速開發,它最顯著的特點是作為編譯語言(如C)和腳本語言(如perl)之間的橋接語言,它具有的強大功能,可擴 充性及面向對象的特征使其成為大規模應用程序開發工具。

          總結
          由此可見Perl比 shell+sed+awk更強大,但學習兩者并不沖突,通常是學習shell做為腳本編程的入門基礎。而Python在應用領域則與前 兩者有很大的差別,無太大的可比性。面向不同的任務,可以只需用到其中的一種,也可能三種都要用到,所以究竟該學誰不學誰,需要由面對的任務來決定。
           
          bash   -   GNU   Bourne-Again   SHell   類似dos的command,沒他你就別想執行命令  
              gawk   -   pattern   scanning   and   processing   language   主要用于文本相關的處理的編程語言  
             
              sed   -   a   Stream   EDitor   用于對字符流進行操作  
             
              perl   -   Practical   Extraction   and   Report   Language   一種程序語言,特別用于對字符串處理和作為cgi程序  
            后三種在linux中是通過bash進行調度執行的  
             
            bash你必須用,其他三個要看你的需要了,呵呵
           
          bash、awk、sed、perl  
            聯系是都可以作為   命令解釋器  
             
            功能大小  
            大=====〉小  
            perl     /*powerful   like   ksh,   fast,   use   widely  
            awk     /*power   two,   basic   using   in   shell   script,   also   write   awk   script  
            bash,   provide   user   interface,   also   provide   some   command  
            sed   ,   line   editor   oriented   lines  
           
          perl 是一種很強的編程語言,你幾乎可以用它做任何事情,awk 則簡單多了,主要用來處理具有一定格式的文件。如果是 shell 編程,awk、sed 等都是不可缺少的工具,當然 perl 完全可以替代 awk、sed、grep 等命令
          主站蜘蛛池模板: 萨嘎县| 怀安县| 锦州市| 瑞金市| 汾西县| 澄城县| 太原市| 新竹县| 亳州市| 鹤峰县| 雷波县| 建始县| 茶陵县| 吉安市| 扎赉特旗| 德清县| 邯郸市| 海晏县| 砚山县| 清流县| 南和县| 措美县| 颍上县| 吴忠市| 瑞昌市| 蓝田县| 浦江县| 万盛区| 阿拉尔市| 禹州市| 崇信县| 双城市| 老河口市| 东乌| 南宫市| 朝阳市| 集安市| 封丘县| 柘城县| 金乡县| 海丰县|