gpt4 book ai didi

linux - 使用 Applescript 或 Linux 从文件名中删除字符串

转载 作者:太空宇宙 更新时间:2023-11-04 11:16:38 24 4
gpt4 key购买 nike

我正在将几个 word 文档转换为 pdf。输入文件名是这样的“CM_Genetics_in_OBGYN_docx”,而输出文件名是这样的“job_10-Microsoft_Word_-_CM_Genetics_in_OBGYN_docx.pdf”我想删除“job_10-Microsoft_Word_-_”和“_docx”,只留下pdf文件名“CM_Genetics_in_OBGYN.pdf”。我真的很想以“OBGYN.pdf 中的 CM 遗传学”结尾,但如果最后一部分让它变得太复杂,“CM_Genetics_in_OBGYN.pdf”是可以接受的。我对 applescript 和 linux 命令有一些经验,但无法确定这一点。

最佳答案

给你:

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"
done

关于linux - 使用 Applescript 或 Linux 从文件名中删除字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20619675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com