我想重命名以下文件,这样删除前 4 个字符和后 7 个字符,然后将剩余的字符转换为十进制,然后重命名。
例如,如果文件名是0030002345678.txt
,则应重命名为 00.txt(删除字符并转换为十六进制)。
如果是00300A2345678.txt
,应重命名为 10.txt(从十六进制“0A”转换后
答案1
那这个呢:
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
需要打印的文件;如果不是这种情况,请提供更相关的信息。