如何使用bat或shell脚本将包含特定单词的所有文件名重命名为文件夹中的另一个单词

时间:2010-12-20 10:17:22

标签: shell batch-file

如何编写批处理脚本或shell脚本来重命名文件夹中的文件

ie ..将名称arun_XYZ替换为所有文件名中的arun_ABC(将xyz替换为abc)

以及如何用ABC

替换所有文件中存在的单词XYZ

2 个答案:

答案 0 :(得分:1)

外壳:

重命名文件:

for fname in *_XYZ; do
   newname=`echo "$fname" | sed 's/_XYZ/_ABC/g'`
   echo "$fname" "$newname"
done

测试后,将echo $fname...替换为mv $fname...

重命名切片并替换文件内容:

for fname in *_XYZ; do
   newname=`echo "$fname" | sed 's/_XYZ/_ABC/g'`
   sed 's/XYZ/ABC/g' "$fname" >"$newname"
done

答案 1 :(得分:0)

由于这个问题有“dos-batch”标签,我认为Arunachalam需要一个dos解决方案,而不是一个bash。

你问了两个完全不同的问题。

  1. 要重命名文件名,您可以查看batch-script-to-rename-files-how-to-change-file-extensions

  2. 要更改文件内容,您可以阅读Batch Substitute