首頁  >  文章  >  運維  >  linux替換指令是什麼

linux替換指令是什麼

WBOY
WBOY原創
2022-01-27 14:28:2825595瀏覽

linux的替換指令:1、利用vim中「:s/原內容/取代內容/」指令來取代內容;2、利用sed配合grep取代內容;3、利用「find -name 檔名| xargs perl -pi -e 's|原內容|取代內容|g'”指令取代內容。

linux替換指令是什麼

本教學操作環境:linux7.3系統、Dell G3電腦。

linux取代指令是什麼

1、透過vim編輯器來取代

vi/vim 中可以使用:s 指令來取代字串。

:s/well/good/ 取代目前行第一個well 為good

:s/well/good/g 取代目前行所有well 為good

: n,$s/well/good/ 替換第n 行開始到最後一行中每一行的第一個well 為good

:n,$s/well/good/g 替換第n 行開始到最後一行每一行所有well 為good n 為數字,若n 為.,表示從目前行開始到最後一行

:%s/well/good/(等同於:g/well/s/ /good/) 替換每一行的第一個well 為good

:%s/well/good/g(等同於:g/well/s//good/g) 替換每一行所有well為good 可以使用# 作為分隔符,此時中間出現的/ 不會作為分隔符號

:s#well/#good/# 替換當前行第一個well/ 為good/

:%s#/usr/bin#/bin#g 可以把檔案中所有路徑/usr/bin換成/bin

2、sed和grep配合

sed -i s/yyyy/xxxx/g `grep yyyy -rl --include="*.txt" ./`

作用:將目前目錄(包含子目錄)中所有txt檔案中的yyyy字串替換為xxxx字串。其中,

-i 表示操作的是文件,``括起來的grep指令,表示grep指令的的結果當作操作文件。

s/yyyy/xxxx/表示找出yyyy並替換為xxxx,後面跟g表示一行中有多個yyyy的時候,都替換,而不是只替換第一個

另外,如果不需要尋找子目錄,只需要在目前目錄替換,用sed指令就行了,指令如下:sed -i s/xxxx/yyyy/g ./*.txt

3.find命令尋找並取代

find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'

#尋找取代目前目錄下包含字串並進行替換

find -name '*.txt' | xargs perl -pi -e 's|被取代內容|取代內容|g'             #遞迴尋找取代

find . -type f -name '*.html' | xargs perl -pi -e 's|被取代內容|取代內容|g'

相關推薦:《Linux影片教學

以上是linux替換指令是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn