Перезаписать кучу имен файлов
У меня есть несколько папок, каждая из которых содержит большие имена файлов, которые загружаются в странном формате имен и скрывают расширение файла, и я хочу преобразовать его во что-то очень простое.
Вот пример того, что я хочу сделать. Допустим, эти четыре файла находятся в одной из папок:
HTTP_services.cgi?FILENAME=%2Fdata%2FMERRA2%2FM2I6NPANA.5.12.4%2F1992%2F08%2FMERRA2_200.inst6_3d_ana_Np.19920818.nc4&FORMAT=bmM0Lw&BBOX=-90%2C-180%2C90%2C180&LABEL=MERRA2_200.inst6_3d_ana_Np.19920818.SUB.nc4&SHORTNAME=M2I6NPANA&SERVICE=
HTTP_services.cgi?FILENAME=%2Fdata%2FMERRA2%2FM2I6NPANA.5.12.4%2F1992%2F08%2FMERRA2_200.inst6_3d_ana_Np.19920819.nc4&FORMAT=bmM0Lw&BBOX=-90%2C-180%2C90%2C180&LABEL=MERRA2_200.inst6_3d_ana_Np.19920819.SUB.nc4&SHORTNAME=M2I6NPANA&SERVICE=
HTTP_services.cgi?FILENAME=%2Fdata%2FMERRA2%2FM2I6NPANA.5.12.4%2F1992%2F08%2FMERRA2_200.inst6_3d_ana_Np.19920820.nc4&FORMAT=bmM0Lw&BBOX=-90%2C-180%2C90%2C180&LABEL=MERRA2_200.inst6_3d_ana_Np.19920820.SUB.nc4&SHORTNAME=M2I6NPANA&SERVICE=
HTTP_services.cgi?FILENAME=%2Fdata%2FMERRA2%2FM2I6NPANA.5.12.4%2F1992%2F08%2FMERRA2_200.inst6_3d_ana_Np.19920821.nc4&FORMAT=bmM0Lw&BBOX=-90%2C-180%2C90%2C180&LABEL=MERRA2_200.inst6_3d_ana_Np.19920821.SUB.nc4&SHORTNAME=M2I6NPANA&SERVICE=
Я хотел бы, чтобы их просто переименовали в нечто очень простое, например
1.nc4
2.nc4
3.nc4
4.nc4
Новые числа не имеют отношения к исходным именам файлов. Я просто хочу иметь возможность легко их перебирать с другой программой, которая у меня есть.
Я пытался использовать программы пакетного переименования, такие как pyrenamer и metamorphose, но они, похоже, хороши при замене шаблонов в именах другими шаблонами, а не просто перезаписывают имя шаблоном.
1 ответ
Используя простой цикл:
count=0; for file in HTTP_services*; do mv "$file" "$(( count++ )).nc4"; done;
использовать его с echo Сначала убедитесь, что он работает так, как вы хотите:
$ count=0; for file in HTTP_se*; do echo "mv" "$file" "$(( count++ )).nc4"; done;
mv HTTP_services.cgi?FILENAME=%2Fdata%1 1.nc4
mv HTTP_services.cgi?FILENAME=%2Fdata%2 2.nc4