将所有以 X 结尾的文件名更改为 Y
Changing all file names that end with X to Y
我正在构建一个带有 3 个参数的脚本:文件夹、X、Y。该脚本会将所有以 X 结尾的文件重命名为相同的名称,但以 Y 结尾。我不想进入子目录。
我试过:Rrename
#!/bin/bash
for file in {""}*.{""}; do
mv -- "$file" "${f%.}.{""}"
done
所以当我运行
Rrename thisFolder cpp c
它将所有以.cpp
结尾的文件重命名为thisFolder
中与.c
同名的文件
我哪里错了?
对您的尝试进行一些修改:
#!/bin/bash
for file in ""/*.""; do
mv -n "$file" "${file%.*}."
done
我删除了一些 {}
,因为它们使用不当。唯一需要它们的地方是在循环内,使您能够从文件名中删除后缀。另外,您没有在脚本中使用第三个参数。
-n
切换到 mv
可防止现有文件被覆盖。
我正在构建一个带有 3 个参数的脚本:文件夹、X、Y。该脚本会将所有以 X 结尾的文件重命名为相同的名称,但以 Y 结尾。我不想进入子目录。
我试过:Rrename
#!/bin/bash
for file in {""}*.{""}; do
mv -- "$file" "${f%.}.{""}"
done
所以当我运行
Rrename thisFolder cpp c
它将所有以.cpp
结尾的文件重命名为thisFolder
.c
同名的文件
我哪里错了?
对您的尝试进行一些修改:
#!/bin/bash
for file in ""/*.""; do
mv -n "$file" "${file%.*}."
done
我删除了一些 {}
,因为它们使用不当。唯一需要它们的地方是在循环内,使您能够从文件名中删除后缀。另外,您没有在脚本中使用第三个参数。
-n
切换到 mv
可防止现有文件被覆盖。