我想重命名包含子字符串“foo
”的所有文件,将其替换为给定文件夹中的“bar
”。如何实现此目标?
更新
for i in ./*foo*; do mv "$i" "${i//foo/bar}";done
工作!!!
答案 0 :(得分:3)
如果您拥有rename(1)
附带的perl
(Debian提供),您可以使用:
cd /path/to/directory
rename 's/foo/bar/g' *
如果您有另一个rename(1)
(我在Red Hat Enterprise Linux和其他一些发行版中看到它,它来自util-linux),您可以尝试:
cd /path/to/directory
rename foo bar *foo*
您可以尝试rename
来查看您拥有的rename -V
版本。如果它不识别该标志,那就是perl版本。如果它打印版本信息,则是另一个版本。