多个文件重命名 - 文件名模式

多个文件重命名 - 文件名模式

我想在某个目录中重命名以下图像文件:

8 -rw-rw-r-- 1 6661 sep 24 10:28 dbConnectionOkBostjan.png
8 -rw-rw-r-- 1 6548 sep 24 10:29 dbConnectionErrorBostjan.png
8 -rw-rw-r-- 1 5708 sep 24 10:29 btConnectionErrorBostjan.png
8 -rw-rw-r-- 1 5911 sep 24 10:30 btConnectionOkBostjan.png
8 -rw-rw-r-- 1 6916 sep 24 10:31 userLogOkBostjan.png
8 -rw-rw-r-- 1 6924 sep 24 10:44 userLogErrorBostjan.png

现在,我知道如何使用mv命令重命名文件,甚至知道如何重命名多个文件,但在这种情况下,我想使用与原始文件相同的新名称重命名每个文件,但没有单词Bostjan。例如,dbConnectionOkBostjan.png必须重命名为dbConnectionOk.png并与所有其他文件相同。如何使用终端完成此任务?我希望使用普通mv命令来解决这个问题。如果我使用建议的解决方案答案1,我收到以下错误:

user@testcomp:~/Pictures/testAppIcons$ for i in *Bostjan*; do mv $i $(echo $i | sed @Bostjan@@); done sed: -e expression #1, char 1: unknown command: `@' mv: missing destination file operand after ‘btConnectionErrorBostjan.png’ Try 'mv --help' for more information. sed: -e expression #1, char 1: unknown command: `@' mv: missing destination file operand after ‘btConnectionOkBostjan.png’ Try 'mv
--help' for more information. sed: -e expression #1, char 1: unknown command: `@' mv: missing destination file operand after ‘dbConnectionErrorBostjan.png’ Try 'mv --help' for more information. sed: -e expression #1, char 1: unknown command: `@' mv: missing destination file operand after ‘dbConnectionOkBostjan.png’ Try 'mv
--help' for more information. sed: -e expression #1, char 1: unknown command: `@' mv: missing destination file operand after ‘userLogErrorBostjan.png’ Try 'mv --help' for more information. sed:
-e expression #1, char 1: unknown command: `@' mv: missing destination file operand after ‘userLogOkBostjan.png’ Try 'mv --help' for more information. user@testcomp:~/Pictures/testAppIcons$

我在用Ubuntu 15.04

答案1

这可以用一行完成,但为了便于阅读,我将分开。我回显文件名并在 mv 的目标参数中使用 sed 修改它:

for i in *Bostjan*; do
  mv $i $(echo $i | sed s@Bostjan@@)
done

答案2

使用mmv。 (您可能必须先安装它。) mmv "*Botsjan*" "#1#2"

相关内容