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