Я боролся с этим большую часть прошлой ночи.
Я хочу переименовать все файлы xxxx-yyyy
в xxxx:yyyy
в папке из make-файла.
У меня есть renamefiles.sh
который отлично работает:
#!/bin/sh
for i in $i
do
echo $i
echo mv "${i}" "${f//-/:}";
mv "${i}" "${f//-/:}";
done
Но я бы очень хотел поместить это в make-файл.
Makefile из OpenWRT/Lede; фрагмент, где он должен быть:
define Build/Prepare
$(Build/Prepare/Default)
tar xvfj $(DL_DIR)/$(PKG_DATA_FILENAME) -C $(PKG_BUILD_DIR)
rm -f \
$(PKG_BUILD_DIR)/$(PKG_DATA_PATH)/usb_modeswitch.d/05c6:1000:sVe=GT
cp ./data/* $(PKG_BUILD_DIR)/$(PKG_DATA_PATH)/usb_modeswitch.d/
./renamefiles.sh $(PKG_BUILD_DIR)/$(PKG_DATA_PATH)/usb_modeswitch.d/
endef
Поэтому мне бы очень хотелось переименовать в make- $(PKG_BUILD_DIR)/$(PKG_DATA_PATH)/usb_modeswitch.d/????-????
в ????:????
но что бы я ни пытался, я, похоже, получил какую-то ошибку (обычно unexpected end of file
из bash
?).
Я также ищу решение, которое будет работать без дополнительных предпосылок; Например, мое первое исследование показало, что rename
будет хорошо работать, но я был предупрежден, потому что это не доступно везде.