grep awk sed區(qū)別

現(xiàn)在把我從網(wǎng)上看到的sed烛恤、grep和awk之間的區(qū)別列出來崎逃,希望對自己有用失尖。

grep主要用于搜索某些字符串

sed妹窖,awk?用于處理文本

grep基本是以行為單位處理文本的纬朝;而awk可以做更細分的處理,通過指定分隔符將一行(一條記錄)劃分為多個字段骄呼,以字段為單位處理文本共苛。awk中支持C語法判没,可以有分支條件判斷、循環(huán)語句等俄讹,相當于一個小型編程語言哆致。

awk功能比較多是一個編程語言了。?grep功能簡單患膛,就是一個簡單的正則表達式的匹配摊阀。?awk的功能依賴于grep。

grep可以理解為主要作用是在一個文件中查找過濾需要的內(nèi)容踪蹬。awk不是過濾查找胞此,而是文本處理工具,是把一個文件處理成你想要的格式跃捣。???AWK的功能是什么漱牵?與sed和grep很相似,awk是一種樣式掃描與處理工具疚漆。但其功能卻大大強于sed和grep酣胀。awk提供了極其強大的功能:它幾乎可以完成grep和sed所能完成的全部工作,同時娶聘,它還可以可以進行樣式裝入闻镶、流控制、數(shù)學運算符丸升、進程控制語句甚至于內(nèi)置的變量和函數(shù)铆农。它具備了一個完整的語言所應具有的幾乎所有精美特性。實際上狡耻,awk的確擁有自己的語言:awk程序設(shè)計語言墩剖,awk的三位創(chuàng)建者已將它正式定義為:樣式掃描和處理語言。??使用awk的第一個理由是基于文本的樣式掃描和處理是我們經(jīng)常做的工作夷狰,awk所做的工作有些象數(shù)據(jù)庫岭皂,但與數(shù)據(jù)庫不同的是,它處理的是文本文件沼头,這些文件沒有專門的存儲格式爷绘,普通的人們就能編輯、閱讀瘫证、理解和處理它們。而數(shù)據(jù)庫文件往往具有特殊的存儲格式庄撮,這使得它們必須用數(shù)據(jù)庫處理程序來處理它們背捌。既然這種類似于數(shù)據(jù)庫的處理工作我們經(jīng)常會遇到,我們就應當找到處理它們的簡便易行的方法洞斯,UNIX有很多這方面的工具毡庆,例如sed?坑赡、grep、sort以及find等等么抗,awk是其中十分優(yōu)秀的一種毅否。

使用awk的第二個理由是awk是一個簡單的工具,當然這是相對于其強大的功能來說的蝇刀。的確螟加,UNIX有許多優(yōu)秀的工具,例如UNIX天然的開發(fā)工具C語言及其延續(xù)C++就非常的優(yōu)秀吞琐。但相對于它們來說捆探,awk完成同樣的功能要方便和簡捷得多。這首先是因為awk提供了適應多種需要的解決方案:從解決簡單問題的awk命令行到復雜而精巧的awk程序設(shè)計語言站粟,這樣做的好處是黍图,你可以不必用復雜的方法去解決本來很簡單的問題。例如奴烙,你可以用一個命令行解決簡單的問題助被,而C不行,即使一個再簡單的程序切诀,C語言也必須經(jīng)過編寫揩环、編譯的全過程。其次趾牧,awk本身是解釋執(zhí)行的检盼,這就使得awk程序不必經(jīng)過編譯的過程,同時翘单,這也使得它與shell?script程序能夠很好的契合吨枉。最后,awk本身較C語言簡單哄芜,雖然awk吸收了C語言很多優(yōu)秀的成分貌亭,熟悉C語言會對學習awk有很大的幫助,但awk本身不須要會使用C語言——一種功能強大但需要大量時間學習才能掌握其技巧的開發(fā)工具认臊。

使用awk的第三個理由是awk是一個容易獲得的工具圃庭。與C和C++語言不同,awk只有一個文件(/bin/awk)失晴,而且?guī)缀趺總€版本的UNIX都提供各自版本的awk剧腻,你完全不必費心去想如何獲得awk。但C語言卻不是這樣涂屁,雖然C語言是UNIX天然的開發(fā)工具书在,但這個開發(fā)工具卻是單獨發(fā)行的,換言之拆又,你必須為你的UNIX版本的C語言開發(fā)工具單獨付費(當然使用D版者除外)儒旬,獲得并安裝它栏账,然后你才可以使用它。

基于以上理由栈源,再加上awk強大的功能挡爵,我們有理由說,如果你要處理與文本樣式掃描相關(guān)的工作甚垦,awk應該是你的第一選擇茶鹃。在這里有一個可遵循的一般原則:如果你用普通的shell工具或shell?script有困難的話,試試awk,如果awk仍不能解決問題制轰,則便用C語言前计,如果C語言仍然失敗,則移至C++垃杖。

Sed是一個非交互性文本流編輯器男杈。它編輯文件或標準輸入導出的文本拷貝。sed編輯器按照一次處理一行的方式來處理文件(或者輸入)并把輸出送到屏幕上调俘。你可以在vi和ex/ed編輯器里識別他的命令伶棒。sed把當前正在處理的行保存在一個臨時緩存里,這個緩存叫做模式空間彩库。一但sed完成了對模式空間里的行的處理(即對該行執(zhí)行sed命令)肤无,就把模式空間的行送到屏幕上(除非該命令要刪除該行活禁止打印)骇钦。處理完該行之后宛渐,從模式空間里刪除它,然后把下一行讀入模式空間眯搭,進行處理窥翩,并顯示。當輸入文件的最后一行處理完后鳞仙,sed終止寇蚊。通過把每一行存在一個臨時緩存里并編輯該行,初始文件不會被修改或被破壞棍好。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末仗岸,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子借笙,更是在濱河造成了極大的恐慌扒怖,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件业稼,死亡現(xiàn)場離奇詭異盗痒,居然都是意外死亡,警方通過查閱死者的電腦和手機盼忌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進店門积糯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谦纱,你說我怎么就攤上這事看成。” “怎么了跨嘉?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵川慌,是天一觀的道長。 經(jīng)常有香客問我祠乃,道長梦重,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任亮瓷,我火速辦了婚禮琴拧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘嘱支。我一直安慰自己蚓胸,他們只是感情好,可當我...
    茶點故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布除师。 她就那樣靜靜地躺著沛膳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪汛聚。 梳的紋絲不亂的頭發(fā)上锹安,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天,我揣著相機與錄音倚舀,去河邊找鬼叹哭。 笑死,一個胖子當著我的面吹牛瞄桨,可吹牛的內(nèi)容都是我干的话速。 我是一名探鬼主播,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼芯侥,長吁一口氣:“原來是場噩夢啊……” “哼泊交!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起柱查,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤廓俭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后唉工,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體研乒,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年淋硝,在試婚紗的時候發(fā)現(xiàn)自己被綠了雹熬。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宽菜。...
    茶點故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖竿报,靈堂內(nèi)的尸體忽然破棺而出铅乡,到底是詐尸還是另有隱情,我是刑警寧澤烈菌,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布阵幸,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜苗踪,卻給世界環(huán)境...
    茶點故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望荠割。 院中可真熱鬧,春花似錦旺矾、人聲如沸涨共。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽举反。三九已至,卻和暖如春扒吁,著一層夾襖步出監(jiān)牢的瞬間火鼻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工雕崩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留魁索,地道東北人。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓盼铁,卻偏偏與公主長得像粗蔚,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子饶火,可洞房花燭夜當晚...
    茶點故事閱讀 45,930評論 2 361

推薦閱讀更多精彩內(nèi)容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,176評論 2 33
  • grep grep的基本用法 grep命令是支持正則表達式的一個多用途文本搜索工具鹏控,一般格式為 grep 選項 模...
    王詩翔閱讀 3,076評論 2 34
  • sed與awk實例 文本間隔 在每一行后面增加一空行 將原來的所有空行刪除并在每一行后面增加一空行。這樣在輸出的文...
    stuha閱讀 1,901評論 0 21
  • 本文承接之前寫的三十分鐘學會AWK一文肤寝,在學習完AWK之后当辐,趁熱打鐵又學習了一下SED,不得不說這兩個工具真的堪稱...
    mylxsw閱讀 4,401評論 3 74
  • 1024今日分享 001直接表達找筝,遠比拐彎抹角成本低蹈垢,與其坐以待斃,不如主動出擊袖裕。 002這個世界上耘婚,因為你過得好...
    阮默涵閱讀 403評論 1 3