根据文本文件中包含的文本重命名目录中的文件

根据文本文件中包含的文本重命名目录中的文件

我正在尝试根据文本文件的内容重命名目录中的大约 20 个文件。我一直在搜索,但找不到任何真正描述该过程的内容。所有原始文件都如下所示:

Track 1.wav
Track 2.wav 

ETC...

我想将它们重命名为此,将其输入到文本文件中,并逐行使用我想要的文件名称。

We are Yours
Awake my Love

ETC..

有人知道怎么做吗?我经常这么做,但最后还是手动做,而且已经过时了。

答案1

怎么样

n=1
while IFS= read -r newname; do
  printf -v oldname 'Track %d.wav' $((n++)) 
  echo mv -vn "$oldname" "$newname"
done < "filenames.txt"

其中filenames.txt是您键入所需新名称的文件的名称。

如果它似乎做了正确的事情,那么删除echo并再次运行它来重命名文件

相关内容