На этот вопрос уже есть ответ здесь:
У меня есть несколько папок, каждая из которых содержит большие имена файлов, загруженные в странный формат имен и скрывает расширение файла, и я хочу преобразовать во что-то очень простое.
Вот пример того, что я хочу сделать. Допустим, эти четыре файла находятся в одной из папок:
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, но они, похоже, хорошо заменяют шаблоны в именах другими шаблонами, а не просто перезаписывают имя шаблоном.
Используя простой цикл:
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