【发布时间】:2018-04-14 14:39:01
【问题描述】:
我创建了一个名称为大写字母的文件列表,并尝试将它们重命名为名称相同但使用小写字母的文件。因此,如果我有 20 个文件名,如 FILE1、FILE2、FILE3 等。我想将它们分别重命名为 file1、file2、file3 等。我正在执行以下命令
[root@host-1-1 files]# find . -name 'FILE*' -exec mv {} `echo {} | tr [:upper:] [:lower:]` \;
但我从 mv 命令收到以下错误。有人可以告诉我我在这里缺少什么吗? mv: ‘./FILE1’ 和 ‘./FILE1’ 是同一个文件 mv: ‘./FILE2’ 和 ‘./FILE2’ 是同一个文件 mv: ‘./FILE3’ 和 ‘./FILE3’ 是同一个文件 mv: ‘./FILE4’ 和 ‘./FILE4’ 是同一个文件 mv: ‘./FILE5’ 和 ‘./FILE5’ 是同一个文件 mv: ‘./FILE6’ 和 ‘./FILE6’ 是同一个文件 mv: ‘./FILE7’ 和 ‘./FILE7’ 是同一个文件 mv: ‘./FILE8’ 和 ‘./FILE8’ 是同一个文件 mv: ‘./FILE9’ 和 ‘./FILE9’ 是同一个文件 mv: ‘./FILE10’ 和 ‘./FILE10’ 是同一个文件 mv: ‘./FILE11’ 和 ‘./FILE11’ 是同一个文件 mv: ‘./FILE12’ 和 ‘./FILE12’ 是同一个文件 mv: ‘./FILE13’ 和 ‘./FILE13’ 是同一个文件 mv: ‘./FILE14’ 和 ‘./FILE14’ 是同一个文件 mv: ‘./FILE16’ 和 ‘./FILE16’ 是同一个文件 mv: ‘./FILE18’ 和 ‘./FILE18’ 是同一个文件 mv: ‘./FILE20’ 和 ‘./FILE20’ 是同一个文件 mv:‘./FILE15’和‘./FILE15’是同一个文件 mv: ‘./FILE17’ 和 ‘./FILE17’ 是同一个文件 mv:‘./FILE19’和‘./FILE19’是同一个文件 [root@host-1-1 文件]#
PS:我已经使用了 for 循环并满足了我的要求。我正在努力理解 find 命令。
【问题讨论】:
-
看起来你正在以 root 身份运行它;如您所知,您应该尽可能使用权限较低的帐户。