Linux學習筆記8_三劍客命令的sed命令複習(替換)

需求:把目錄下的所有.sh文件中的內容替換

實現:


ls /data

a.txt  b.sh  c.sh  d.info


方法1

-----------------------------------------------------------

先查看替換前內容

find -type f -name "*.sh" |xargs cat    

before

before


測試替換結果,sed無參數時僅打印輸出

find -type f -name "*.sh" |xargs sed 's#before#after#g'    

after

after


-i參數爲在文件中進行替換修改

find -type f -name "*.sh" |xargs sed -i 's#before#after#g'   


查看替換後內容

find -type f -name "*.sh" |xargs cat   

after

after


注:

|xargs 理解爲將管道前輸出處理成後續命令的參數(匯成單行)輸入

若直接 |cat,則cat只會把管道前的輸出當作文本處理

-----------------------------------------------------------



方法2

-----------------------------------------------------------

sed -i 's#before#after#g' `find -type f -name "*.sh"`


等價於:

sed -i 's#before#after#g' /data/b.sh /data/c.sh


注:

``符號內的內容先執行

``符號爲“Tab鍵”上面的按鍵符號,反引號(?)

-----------------------------------------------------------




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章