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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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
1
2
3
4
5
6
7
8
9
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'
————————————————
版權聲明:本文為CSDN博主「枼默」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_25992179/article/details/82777486


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM