国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

linux中批量查找替換文本內(nèi)容例子

2024-08-27 23:59:38
字體:
供稿:網(wǎng)友

在linux中要對文件內(nèi)容的查找與替換是可以直接對應(yīng)的命令來進(jìn)行操作了,下面我們就來為各位介紹這兩個(gè)例子的強(qiáng)大之處吧.

1.批量查找某個(gè)目下文件的包含的內(nèi)容,例如:

# grep -rn "要找查找的文本" ./

2.批量查找并替換文件內(nèi)容.

# sed -i "s/要找查找的文本/替換后的文本/g" `grep -rl "要找查找的文本" ./`

sed的其他用法如下:

1、刪除行首空格

  1. sed 's/^[ ]*//g' filename 
  2. sed 's/^ *//g' filename 
  3. sed 's/^[[:space:]]*//g' filename 

2、行后和行前添加新行

行后:sed 's/pattern/&/n/g' filename

行前:sed 's/pattern//n&/g' filename

&代表pattern

3、使用變量替換(使用雙引號(hào))

sed -e "s/$var1/$var2/g" filename

4、在第一行前插入文本

sed -i '1 i/插入字符串' filename

5、在最后一行插入

sed -i '$ a/插入字符串' filename

6、在匹配行前插入

sed -i '/pattern/ i "插入字符串"' filename

7、在匹配行后插入

sed -i '/pattern/ a "插入字符串"' filename

8、刪除文本中空行和空格組成的行以及#號(hào)注釋的行

grep -v ^# filename | sed /^[[:space:]]*$/d | sed /^$/d

find命令:

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

  1. #查找替換當(dāng)前目錄下包含字符串并進(jìn)行替換.
  2. find -name '*.txt' | xargs perl -pi -e 's|智慧鄉(xiāng)村|北部山區(qū)|g'
  3. #遞歸查找替換
  4. find . -type f -name '*.html' | xargs perl -pi -e 's|智慧鄉(xiāng)村|北部山區(qū)|g'
  5. #搜索目錄LOG包含顯示出來 
  6. find ./ -name '*log*' -type d 
  7. find ./ -name '*Log*' -type d more 

當(dāng)然還可以利用 linux vim 批量替換.

只對當(dāng)前行進(jìn)行替換:

Example

:s/XXX/YYY/g,如果需要進(jìn)行全部替換:

Example

:%s/XXX/YYY/g

如果需要對指定部分進(jìn)行替換,可以用V進(jìn)入visual模式,再進(jìn)行

Example

:s/XXX/YYY/g

或者可以指定行數(shù)對指定范圍進(jìn)行替換:

Example

:10,31s/XXX/YYY/g

若需要顯示行號(hào),在vim下.

Example

:set nu

取消顯示行號(hào):

  1. Example 
  2. :set nonu 
  3. :s/well/good/ 替換當(dāng)前行第一個(gè) well 為 good 
  4. :s/well/good/g 替換當(dāng)前行所有 well 為 good 
  5. :n,$s/well/good/ 替換第 n 行開始到最后一行中每一行的第一個(gè) well 為 good 
  6. :n,$s/well/good/g 替換第 n 行開始到最后一行中每一行所有 well 為 good 
  7. n 為數(shù)字,若 n 為 .,表示從當(dāng)前行開始到最后一行 
  8. :%s/well/good/(等同于 :g/well/s//good/) 替換每一行的第一個(gè) well 為 good 
  9. :%s/well/good/g(等同于 :g/well/s//good/g) 替換每一行中所有 well 為 good 
  10. 可以使用 # 作為分隔符,此時(shí)中間出現(xiàn)的 / 不會(huì)作為分隔符 
  11. :s#well/#good/# 替換當(dāng)前行第一個(gè) well/ 為 good/ 
  12. :%s#/usr/bin#/bin#g 可以把文件中所有路徑/usr/bin換成/bin

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 恩施市| 紫金县| 璧山县| 黄平县| 康马县| 岢岚县| 义乌市| 德江县| 东源县| 涟源市| 酉阳| 婺源县| 东港市| 平顺县| 繁峙县| 万全县| 区。| 武冈市| 台中县| 临汾市| 唐海县| 荔浦县| 岐山县| 庆安县| 海林市| 平谷区| 渑池县| 凤城市| 泉州市| 武定县| 卢龙县| 榆社县| 铜梁县| 黎平县| 含山县| 杭州市| 两当县| 梧州市| 达孜县| 张家港市| 桑植县|