4
我想重命名包含子字符串'foo
'的所有文件,在给定文件夹内用'bar
'替换它。如何完成此操作?用'bar'重命名包含子字符串'foo'的文件
更新:
for i in ./*foo*; do mv "$i" "${i//foo/bar}";done
作品!
我想重命名包含子字符串'foo
'的所有文件,在给定文件夹内用'bar
'替换它。如何完成此操作?用'bar'重命名包含子字符串'foo'的文件
更新:
for i in ./*foo*; do mv "$i" "${i//foo/bar}";done
作品!
如果您有与perl
来到(Debian提供吧)rename(1)
,你可以使用:
cd /path/to/directory
rename 's/foo/bar/g' *
如果您有其他rename(1)
(我已经看到了在红帽企业Linux和其他一些分布,它来自util的Linux的),你可以尝试:
cd /path/to/directory
rename foo bar *foo*
您可以通过尝试rename -V
检查您的的rename
版本。如果它不识别该标志,那就是perl版本。如果它打印版本信息,则是其他版本。
我想''为我在./*foo*;做mv“$我”“$ {我//富/酒吧}”;完成“,但不知道它是否工作 – usercr 2013-02-21 10:03:02
你可以建议其他替代品,而不使用重命名命令 – usercr 2013-02-21 10:11:41
@usercr:你提供的单行应该工作。在* foo *中尝试'for f;做回声mv“$ {i}”“$ {i // foo/bar}”;完成“,看看它会做什么。删除'回声'来做到这一点。 – cha0site 2013-02-21 10:16:45