我正在将几个word文档转换为pdfs。输入文件名类似于"CM_Genetics_in_OBGYN_docx“,而输出文件名与此CM_Genetics_in_OBGYN_docx类似,我想删除"job_10-Microsoft_Word_-_”和"_docx“,并且只保留"CM_Genetics_in_OBGYN.pdf”。我真的想要"CM遗传学在OBGYN.pdf“,但"CM_Genetics_in_OBGYN.pdf”将是可以接受的,如果最后一部分使它太复杂。我有一些使用applescript和linux命令的经验,但无法确定这一点。
发布于 2013-12-16 20:06:43
给你:
for fn in job_*.pdf; do
newname=${fn#job_??-*-_}
newname=${newname/_docx}
newname=${newname//_/ }
echo "mv '$fn' '$newname'"
done这将打印准备执行的mv命令,但不会重命名任何内容。要执行重命名,只需将输出输送到sh。
echo对于安全地测试一切都很有用。确保检查最奇怪的模式,你可以找到涵盖所有角落的情况。如果一切看起来都很好,请更改echo以执行您想要执行的实际操作,例如:
for fn in job_*.pdf; do
newname=${fn#job_??-*-_}
newname=${newname/_docx}
newname=${newname//_/ }
mv "$fn" "/some/other/dir/$newname"
donehttps://stackoverflow.com/questions/20619675
复制相似问题