我有两个文件数量相同的文件夹。我希望它们具有相同的文件名,即使文件在技术上不同(高分辨率与低分辨率,但其他基本内容相同)。例如,文件夹 A 可能如下所示:
file1
file2
file3
和文件夹 B,具有更理想的名称:
File 1 - The stuff
File 2 - More stuff
File 3 - Great stuff
如何用文件夹B中的文件名重命名文件夹A中的所有文件?由于文件名中的编号系统,假设它们已经有序。
我有 Windows 10 和 Linux (Debian) 可供使用。
像这样:
$ tree
.
├── A
│ ├── file1
│ ├── file2
│ └── file3
└── B
├── File 1 - The stuff
├── File 2 - More stuff
└── File 3 - Great stuff
2 directories, 6 files
在测试/试运行模式下:
$ cd B
$ for i; do lc=${i,,}; lc=${lc/ //}; echo "mv ../A/${lc%% *} => ../A/$i"; done
mv ../A/file/1 => ../A/File 1 - The stuff
mv ../A/file/2 => ../A/File 2 - More stuff
mv ../A/file/3 => ../A/File 3 - Great stuff
真实重命名:
$ for i; do lc=${i,,}; lc=${lc/ //}; mv ../A/"${lc%% *}" ../A/"$i"; done