Bash 将文件`*XXX*`复制到`*YYY*`

Bash 将文件`*XXX*`复制到`*YYY*`,bash,copy-paste,cp,Bash,Copy Paste,Cp,我有一堆文件的名称中有一个XXX字符串,如: somexxx文件 其他文件 ... 我想将所有这些文件复制到同一文件夹中,用另一个字符串YYY更改XXX,以便在同一文件夹中获得: somexxx文件 其他文件 ... 某些文件 其他文件 ... 我该怎么做?在BASH中,您可以执行以下操作: for f in *XXX*; do echo mv -i "$f" "${f/XXX/YYY}"; done 如果您有重命名实用程序,请使用: rename 's/XXX/YYY/' *XXX* 在B

我有一堆文件的名称中有一个XXX字符串,如:

somexxx文件 其他文件 ... 我想将所有这些文件复制到同一文件夹中,用另一个字符串YYY更改XXX,以便在同一文件夹中获得:

somexxx文件 其他文件 ... 某些文件 其他文件 ... 我该怎么做?

在BASH中,您可以执行以下操作:

for f in *XXX*; do echo mv -i "$f" "${f/XXX/YYY}"; done
如果您有重命名实用程序,请使用:

rename 's/XXX/YYY/' *XXX*
在BASH中,您可以执行以下操作:

for f in *XXX*; do echo mv -i "$f" "${f/XXX/YYY}"; done
如果您有重命名实用程序,请使用:

rename 's/XXX/YYY/' *XXX*
使用超级有用的重命名命令。将其视为对所有文件从XXX重命名为YYY

rename XXX YYY *
如果要在移动的同时进行复制,请先复制到某个子目录,然后再向后移动。

使用超级有用的重命名命令。将其视为对所有文件从XXX重命名为YYY

rename XXX YYY *

如果您希望在移动的同时进行复制,请先复制到某个子目录,然后再向后移动。

谢谢,这正是我想要的。请始终使用mv-I进行这样的批量移动,因此,它将通知您任何名称冲突,而不是默默地覆盖文件。谢谢,这正是我想要的。请始终使用mv-I进行此类批量移动,这样它将通知您任何名称冲突,而不是默默地覆盖文件。