linux中批量替換文字中字串
(一)通過vi編輯器來替換。
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.perl命令替換,引數含義如下:
-a 自動分隔模式,用空格分隔$_並儲存到@F中。相當於@F = split ”。分隔符可以使用-F引數指定
-F 指定-a的分隔符,可以使用正規表示式
-e 執行指定的指令碼。
-i<副檔名> 原地替換檔案,並將舊檔案用指定的副檔名備份。不指定副檔名則不備份。
-l 對輸入內容自動chomp,對輸出內容自動新增換行
-n 自動迴圈,相當於 while(<>) { 指令碼; }
-p 自動迴圈+自動輸出,相當於 while(<>) { 指令碼; print; }
用法示例:
perl -p -i.bak -e 's/\blocalhost\b/127.0.0.1/g' /www/web/*/*/application/database.php
將指定模糊目錄的所有database.php程式中的localhost替換成127.0.0.1,舊檔案備份成.bak
perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c
將當前目錄所有C程式中的foo替換成bar,舊檔案備份成.bak
perl -p -i -e "s/shan/hua/g" ./lishan.txt ./lishan.txt.bak
將當前資料夾下lishan.txt和lishan.txt.bak中的“shan”都替換為“hua”
perl -i.bak -pe 's/(\d+)/ 1 + $1 /ge' file1 file2
將每個檔案中出現的數值都加一
2.sed命令下批量替換檔案內容
格式: sed -i "s/查詢欄位/替換欄位/g" `grep 查詢欄位 -rl 路徑` 檔名
-i 表示inplace edit,就地修改檔案
-r 表示搜尋子目錄
-l 表示輸出匹配的檔名
s表示替換,d表示刪除
示例:sed -i "s/shan/hua/g" lishan.txt
把當前目錄下lishan.txt裡的shan都替換為hua
sed的其他用法如下:
1、刪除行首空格
sed 's/^[ ]*//g' filename
sed 's/^ *//g' filename
sed 's/^[[:space:]]*//g' filename
2、行後和行前新增新行
行後:sed 's/pattern/&\n/g' filename
行前:sed 's/pattern/\n&/g' filename
&代表pattern
3、使用變數替換(使用雙引號)
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、刪除文字中空行和空格組成的行以及#號註釋的行
grep -v ^# filename | sed /^[[:space:]]*$/d | sed /^$/d
相關文章
- linux文字替換Linux
- js中字串全部替換JS字串
- js中字串的替換JS字串
- Linux vi替換字串Linux字串
- 替換字串中的空格《演算法很美》字串演算法
- Java Word中的文字、圖片替換功能Java
- 用python批量替換MD檔案中的圖片地址Python
- mac下如何使用Sed批量替換資料夾下的字串Mac字串
- python如何將字串中的所有"you"替換成"we"Python字串
- 第五章 字串專題 ---------------- 5.4 實踐:替換字串中的空格字串
- vim技巧--提取文字與文字替換
- 簡單介紹Idea使用正規表示式批量替換字串的方法Idea字串
- js replace替換字串,同時替換多個方法JS字串
- Problem 4:替換空格(字串)字串
- Linux sed 命令字串替換使用方法詳解Linux字串
- js面試題-找出字串中的數字,並替換為*JS面試題字串
- .NET 8 使用官方OpenXml SDK,替換Word中的文字和圖片XML
- pandas列值根據字典批量替換
- grep sed 大批次替換字串字串
- js替換字串裡的空格JS字串
- Java替換PDF中的字型Java
- Java 替換PDF中的字型Java
- grep、sed批量替換檔案內容shell
- JavaScript replace()替換字串中指定字元JavaScript字串字元
- Linuxvivim查詢和替換字串命令Linux字串
- JavaScript 替換字串全部指定內容JavaScript字串
- 7-15 字串替換 (6分)字串
- vim 清空內容和替換文字
- 使用 sed 命令查詢和替換檔案中的字串的 16 個示例字串
- 使用sed 命令查詢和替換檔案中的字串的方法總結字串
- 替換專案中的包名
- puppet替換檔案中的string
- word 中批次替換字型顏色
- Swift 中單例模式的替換Swift單例模式
- 如何在word中進行查詢與替換 word文件中的替換與查詢功能
- 更換文字中第二次出現的字串內容字串
- idea替換內容快捷鍵 idea怎麼替換掉所選的文字Idea
- Python字串string的查詢和替換Python字串