linux中替換文件內容的方法:在linux終端可使用sed命令來替換文件內容;sed語法格式為:“sed -i [替換格式] [文件名]”,該語法中的替換格式為:“'s###' ---> 's#原內容##' ---> 's#原內容#替換后內容#'”;例如需要將每個首行world單詞替換為World時,使用命令“sed -i 's#world#World#' testRep.txt”。
具體步驟如下:
1、打開linux虛擬機,在桌面空白處右鍵 -- 打開終端。
2、在終端使用vi編輯器創建一個‘testRep.txt’文件,并在文件寫內容如下:
hello worldhello world
hello world world
保存退出。
3、在終端替換文本內容需要使用sed命令,格式如下:
sed -i [替換格式] [文件名]
替換格式為:
's###' ---> 's#原內容##' ---> 's#原內容#替換后內容#'
例如替換每行首個world單詞為World時使用命令:
sed -i 's#world#World#' testRep.txt
替換完成后,查看testRep.txt內容如下圖所示,每行首個world變成了World。
指定行號替換首個匹配內容在替換格式的最前面加行號即可,格式為:
sed -i '行號s#原內容#替換后內容#' 文件名
例如替換第2行的首個World為world,使用命令:
sed -i '2s#World#world#' testRep.txt
替換完成后,查看testRep.txt內容如下圖所示,第2行首個World變成了world。
如果不指定行號,默認就是每行,不指定行號指定列號替換匹配內容,格式為:
sed -i 's#原內容#替換后內容#列號' 文件名
例如替換每行第1個的World為world,使用命令:
sed -i 's#World#world#1' testRep.txt
替換完成后,查看testRep.txt內容如下圖所示,每行第1個World變成了world。實際列號就是指出現的第幾次,而不是所處的列。
替換全部匹配內容,需要在上一步的替換格式后加g,例如替換所有的world為World,使用命令:
sed -i 's#world#World#g' testRep.txt
替換完成后,查看testRep.txt內容如下圖所示,所有的world都變成了World。
替換行號和列號可以同時使用,例如替換第3行第2個World為world,使用命令:
sed -i '3s#World#world#2' testRep.txt
替換完成后,查看testRep.txt內容如下圖所示,第3行第2個World都變成了world。