您的位置首页百科知识

Linux系统如何快速替换文件内容

Linux系统如何快速替换文件内容

的有关信息介绍如下:

Linux系统如何快速替换文件内容

Linux系统如何快速替换文件内容,Linux系统强大之处在于可以不打开文本文件就替换其中的内容,本文利用Ubuntu系统简单介绍一下这个强大的功能。

打开Ubuntu虚拟机,在桌面空白处右键 -- 打开终端。

在终端使用vi编辑器创建一个‘testRep.txt’文件,并在文件写内容如下:

hello world

hello world

hello world world

保存退出。

在终端替换文本内容需要使用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。