grep命令的使用,grep命令使用

來源:互聯網
上載者:User

grep命令的使用,grep命令使用

 grep是UNIX和LINUX中使用最廣泛的命令之一。grep允許對文字檔進行模式尋找。如果找到匹配模式, grep列印包含模式的所有行。grep支援基本Regex,也支援其擴充集。grep有三種變形,即:

grep:標準grep命令,這裡主要討論此格式;

Egrep:等同於grep -E,擴充grep,支援基本及擴充的Regex;

Fgrep:等同於grep -F,不支援Regex,允許尋找字串而不是一個模式。

   grep有很多選項可供使用,有問題找“男人”,會有詳細說明,我這裡只是說說我所使用到的,最近需要寫一些shell指令碼,在這過程中有用到grep命令。下面就是幾種使用情境:

1.  尋找A目錄下所有檔案中特定內容是否在B目錄下對應檔案中存在

   解決辦法:藉助grep把A目錄下每個檔案裡特定內容輸出到另外一個檔案中,B目錄同樣處理,使用命令:

   grep  "define" fileA > listA

   grep  "define" fileA > listB

   因為define後面的部分內容不一樣,我們的目的是找出類似define("TEST_A","testa");格式而檔案沒有TEST_A的部分,當然裡面有很多不同的define語句。如果使用diff命令來對比的話難以應付,所以可以使用windows下的BeyondCompare工具進行人工比對,不同的內容會標紅一目瞭然,那麼至少在逗號前面相同部分是不會標紅的,關於這個工具還有更多的用處,感興趣的可以搜尋一下。

2.  要對某目錄下除了個別檔案外的所有內容打包壓縮

   解決辦法:使用grep -v注意是小寫v,意為不包含匹配的行,而大寫的V意為版本。

   完整命令可以寫為:

   ls PATH | grep -v '.log' | grep -v '.tar.gz' > tar.list

   目的把需要打包的檔案及目錄名(排除.log及.tar.gz尾碼名檔案)寫入tar.list

   第二步即進行打包操作:

   cat tar.list | xargs tar -zcvf target.tar.gz

   把cat出的結果作為參數傳入管道後面執行打包命令,這也是xargs的用法.

http://hovertree.com/menu/linux/

3.  找出目錄下最新的滿足"target_數字"格式的目錄

   解決辦法: 使用grep -e當然使用-E也可以。

   完整命令為:

   ls PATH --sort=time | grep -e  resource_\d* | head -1

   使用ls的選項--sort=time時間排序排列,而head即是擷取命中的第一部分。

推薦:http://www.cnblogs.com/roucheng/p/3470287.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.