【发布时间】:2012-01-29 04:51:25
【问题描述】:
我正在对包含大量 jpg 文件的大量目录进行重大重组,其中一些文件与其他目录中的文件同名。我想将文件移动/复制到备用目录,如果名称与该目录中的另一个文件匹配(将 IMG_238.jpg 重命名为 IMG_238_COPY1.jpg、IMG_238_COPY2.jpg 等),bash 会自动重命名它们,而不是覆盖现有文件。
我已经设置了一个脚本,它采用 jpeg 并将它们移动到基于 exif 数据的新目录。移动一个jpg的脚本的最后一行是:mv -n "$JPEGFILE" "$DIRNAME"
我使用 -n 选项是因为我不想覆盖文件,但现在我必须手动对那些没有被移动/复制的文件进行排序。我的 GUI 会自动执行此操作...在 bash 中是否有相对简单的方法来执行此操作?
(以防万一,我在 Mac OSX Lion 中使用 bash 3.2)。
【问题讨论】:
-
您使用的是什么发行版,还是需要跨发行版?
-
我正在使用带有 bash 3.2 的 Mac OSX Lion。我会更新我的问题。
-
您可能想看看fdupes - 它可以帮助您摆脱重复文件,因此您因同名而留下的“未移动”的任何文件都是不同的文件。
标签: macos bash unix scripting file-rename