如何在不从csv覆盖外壳程序的情况下重命名批量文件

时间:2019-06-18 17:15:16

标签: macos shell

我有一个拍摄的CR2文件列表。该公司给了我一个包含两列的CSV列表。在第一个中,有产品的条形码。在第二个中,有我给他们的文件名。如何用第二列重命名文件夹中的所有文件?

我尝试了一个shell命令,从CSV中读取,在其中我创建了带有条形码的列,然后创建了具有新文件名的列。

ls directory
perl -pi -e 's/\r\n/\n/;' names.csv
while IFS=\; read old new; do mv "$old" "$new”; done < names.csv

文件的格式如下: 2000000652134_0867.CR2下划线后的数字是自动生成的逐行摄像机编号。

我有很多双重射击。例如:

  • 2000000652134_0868.CR2
  • 2000000652134_0869.CR2
  • 2000000652134_0870.CR2

,它们应成为9718J-LG-BLACK-910和9718J-LG-BLACK-910(1), 9718J-LG-BLACK-910(2)

但是,当我启动命令时,它仅生成一个文件。它删除了3个文件,而我只有9718J-LG-BLACK-910

0 个答案:

没有答案