У меня есть много файлов в папке с тем же расширением (например .vtk), и я использую скрипт bash для массивного переименования их с последовательными номерами. Вот скрипт я использую:Массивное переименование файлов, но сохранение одинаковой сортировки
n=0;
for file in *.vtk; do
${file} 100_${n}.vtk;
n=$((n+1));
done
После выполнения скрипта, все файлы переименовывать как:
100_1.vtk
100_2.vtk
.
.
.
Моя проблема заключается в том, что я хочу, чтобы сохранить сортировку файлов точно так же, как и это было раньше. Например, если у меня было два последовательных файла с именем something.vtk и something_else.vtk, я хочу, чтобы они после процесса переименования соответствовали 100_1.vtk и 100_2.vtk соответственно.
У вас есть 'mv' в вашем скрипте? Или просто эхо, чтобы показать, что произойдет? –
Вывод файла glob перечисляет файлы в отсортированном по умолчанию порядке; это должно произойти автоматически. Вы уверены, что хотите потерять дополнительную информацию? Кроме того, вам нужно беспокоиться о сортировке: '100_1.vtk',' 100_10.vtk', '100_100.vtk',' 100_11.vtk', '100_12.vtk'? Если это так, стандартным способом борьбы с этим является добавление ведущих нулей. Для этого можно использовать команду 'printf'. –