我想重命名所有包含子字符串“foo
”的文件,将其替换为给定文件夹中的“bar
”。我该如何完成此操作?
更新:
for i in ./*foo*; do mv "$i" "${i//foo/bar}";done
有效!!!
最佳答案
如果你有 perl
附带的 rename(1)
(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 -V
检查您拥有的 rename
版本。如果它不能识别标志,那就是 perl 版本。如果它打印版本信息,则它是另一个版本。
关于regex - 将包含子字符串 'foo' 的文件重命名为 'bar',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14999256/