В папке, полной файлов изображений, я хотел бы удалить все пробелы в имени файла. Кроме того, я хочу, чтобы не-ASCII символы были заменены на da sh -
. Это необходимо сделать через make-файл.
Примечание. Последняя точка перед суффиксом / расширением файла должна остаться.
пример:
"Рис. 3_16mm_300dpi_1to1_obv .tif "->" Fig-3-16mm-300dpi-1to1-obv.tif "
Мой подход пока
IMGPATH = "workfiles/inserts/figures"
cleanfigures:
cd $(IMGPATH) && \
for f in *; \
do \
mv -v "$$f" "$${f//[^a-zA-Z0-9](?=.*?\.)/-}" ; \
done
Команда regex ([^a-zA-Z0-9](?=.*?\.)
) в порядке когда я проверяю его с помощью https://regex101.com/, но он не будет работать соответствующим образом с make-файлом, поскольку ничего не переименовывается и не заменяется.