linux的替換命令:1、利用vim中“:s/原內容/替換內容/”命令來替換內容;2、利用sed配合grep替換內容;3、利用“find -name 文件名| xargs perl -pi -e ‘s|原內容|替換內容|g’”命令替換內容。
本教程操作環境: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視頻教程》