欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

linux搜索文件内容并替换(查找与替换命令大全)

程序员文章站 2023-11-29 10:18:04
linux中vi/vim 中可以使用 :s 命令来替换字符串。形式:s/str1/str2/ //用字符串 str2 替换行中首次出现的字符串 str1:s/str1/str2/g /...

linux中vi/vim 中可以使用 :s 命令来替换字符串。

形式

:s/str1/str2/     //用字符串 str2 替换行中首次出现的字符串 str1
:s/str1/str2/g     //用字符串 str2 替换行中所有出现的字符串 str1
:.,$ s/str1/str2/g     //用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
:1,$ s/str1/str2/g     //用字符串 str2 替换正文中所有出现的字符串 str1
:g/str1/s//str2/g      //功能同上

g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

实例

:s/tomcatlog/javalog/           //替换当前行第一个 tomcatlog 为 javalog 
:s#tomcatlog/#javalog/#      //替换当前行第一个 tomcatlog/ 为 javalog/,可以用#符号隔开
:s/tomcatlog/javalog/g       //替换当前行所有 tomcatlog 为 javalog 
:g/tomcatlog/s//javalog/     //替换每一行的第一个 tomcatlog 为 javalog 
:g/tomcatlog/s//javalog/g    //替换每一行中所有 tomcatlog 为 javalog 
:n,$s/tomcatlog/javalog/     //替换第 n 行开始到最后一行中每一行的第一个 tomcatlog 为 javalog 
:n,$s/tomcatlog/javalog/g    //替换第 n 行开始到最后一行中每一行所有 tomcatlog 为 javalog 
(n 为数字,若 n 为 .,表示从当前行开始到最后一行)