我的情况是我有数百个文件被错误命名。这些文件都遵循_XXXX_other.jpg的模式,我需要将它们全部移到_XX_XX_other.jpg。
显然,这里的解决方案将有多个部分。不幸的是,我甚至无法组合一个简单的正则表达式来匹配文件模式。我尝试使用:
ls -l | grep -e *.[0-9]{4}"_other.jpg"$
不幸的是,这匹配了目录中的所有内容,而不仅仅是具有该模式的文件。如果我能想出grep,我会做一个for循环,如下:
for i in $(<grep here>); do mv "$i" "${i/<same regex here/?????}"; done
我放弃了我的方法,但我很好奇是否真的有办法在bash脚本中执行此操作或仅从命令行执行此操作。