使用 shell 在多個檔案中尋找, 替換

來源:互聯網
上載者:User

// 使用 shell 在多個檔案中尋找<br />find . -type f | xargs grep flash<br />說明:<br />找出前目錄及其子目錄下的檔案中含有 flash 的檔案<br />//<br />重點記錄下 xargs 命令:<br />xargs 在標準輸入上取得參數列表、一行一個,再將他們以適當的大小組起來(由主機的 ARG_MAX 值決定)傳給另一個命令,此命令在作為 xargs 的參數.<br />ARG_MAX 值查看方法:<br />getconf ARG_MAX<br />//<br />//<br />在多個檔案中尋找使用命令替換也可以完成<br />grep flash $( find . -type f)<br />說明:<br />$() 是命令替換,括弧內是 shell 命令;shell 執行括弧內的命令並將整個 $(...) 替換為 命令的輸出<br />命令替換的形式有兩種,一種是 $(),另一種是使用兩個反引號 `find . -type f`

 

 

// 多個檔案中替換 - sed<br />為了保證不該替換的不被替換,先在檔案中尋找一下哪些會被替換<br />find -type f ! -path '*.svn*' | xargs sed -n '/Ookong inc/p'<br />說明:<br />1, find 首先過濾掉 .svn 目錄及其子目錄<br />2, xargs 傳遞參數給 sed 命令<br />3, sed 執行尋找, 只列印符合要求的行<br />//<br />// 替換<br />find -type f ! -path '*.svn*' | xargs sed -i 's/Ookong inc/Ookong Ltd. Co./g'<br />說明:<br />1, sed 的 i 選項直接在檔案中替換,而不是把替換結果列印出來<br />2, g 對每行中所有匹配執行替換<br />//<br />//<br />另外:一個 perl 多檔案尋找的程式: ack<br />-- 顯示所在的行號及所在的檔案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.