目录

linux批量替换文件名文件内容字符串

linux批量替换文件名、文件内容字符串

使用命令

sed -i 's/<原字符串>/<替换字符串>/g' <文件>
grep -rl "<搜索字符串>"
find -name "*<搜索字符串>*"
rename <原字符串>  <替换字符串>  <文件>

使用方法

1.替换文件内容

搜索当前目录下所有.v文件,并将文件中字符串"string1",替换为"string2"

sed -i 's/string1/string2/g' *.v
2.替换文件名

搜索当前目录下全部.v文件,并将文件名中字符串"string1"替换为"string2".

rename string1  string2  *.v
3.批量替换文件内容

搜索该目录及子目录下全部文件包含字符串"string1"的文件,并将文件中全部的字符串"string2"替换为"string3".

sed -i 's/string2/string3/g' `grep -rl "string1"`

其中 's/string2/string3/g' 的三个 ‘/’ 可替换为 ‘=’ 、‘+’ 等,字符串可写为正则表达式。需要注意grep -rl “string1”中的"`“为英文输入法时的"Tab"上面的键。

4.批量替换文件名

搜索该目录及子目录下全部文件名包含字符串"string1"的文件,并将文件名中字符串"string2"替换为"string3”.

rename string2  string3  `find -name "*string1*"`