【发布时间】:2010-12-20 10:17:21
【问题描述】:
如何编写批处理脚本或shell脚本来重命名文件夹中的文件
ie ..将所有文件名中的名称 arun_XYZ 替换为 arun_ABC(将 xyz 替换为 abc)
以及如何用单词 ABC 替换所有文件中出现的单词 XYZ
【问题讨论】:
标签: shell batch-file
如何编写批处理脚本或shell脚本来重命名文件夹中的文件
ie ..将所有文件名中的名称 arun_XYZ 替换为 arun_ABC(将 xyz 替换为 abc)
以及如何用单词 ABC 替换所有文件中出现的单词 XYZ
【问题讨论】:
标签: shell batch-file
壳牌:
重命名文件:
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
【讨论】:
sed 's/XYZ/ABC/g' file >newfile 以查看发生了什么。
由于这个问题有“dos-batch”标签,我认为 Arunachalam 需要一个 dos 解决方案,而不是 bash 解决方案。
你问了两个完全不同的问题。
要重命名文件名,您可以查看 batch-script-to-rename-files- 或 how-to-change-file-extensions
要更改文件内容,您可以阅读Batch Substitute
【讨论】: