Я хочу переименовать файлы ниже, чтобы первые 4 символа и последние 7 символов были удалены, остальные символы должны быть преобразованы в десятичную при переименовании.
Пример, если имя файла 0030002345678.txt
, должно быть переименовано в 00.txt (удаление символов и преобразование в шестнадцатеричный код).
Если это 00300A2345678.txt
, следует переименовать в 10.txt (после преобразования из гекса в '0A'
Что относительно этого:
ls | python -c 'import sys, os; print len([os.system("mv %s %02i.%s" % (name[:-1], int(name.split(".")[0][4:-7], 16), name.split(".")[1])) for name in sys.stdin])'
Предполагает, что файлы, которые будут переименованы, являются точно теми который ls
распечатал бы; предоставьте что-либо более соответствующее, если дело обстоит не так.