linux 再文件夹目录下,批量替换文件名、文件内容字符串

基本使用命令

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


具体使用命令方法
1.替换文件内容
搜索当前目录下所有.DTA文件,并将文件中字符串"string1",替换为"string2"

sed -i 's/string1/string2/g' *.DTA


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

rename string1  string2  *.DTA


3.批量替换文件内容
该目录及子目录下所有文件,将文件中所有的字符串"string1"替换为"string3".

sed -i “s/string1/string3/g” `grep string1 -rl 文件路径`


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

4.批量替换文件名
搜索该目录及子目录下所有文件名包含字符串"string1"的文件,并将文件名中字符串"string2"替换为"string3".

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

你可能感兴趣的:(linux,服务器,正则表达式)