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*"`