簡體   English   中英

使用Applescript或Linux從文件名中刪除字符串

[英]Remove string of characters from filename using Applescript or Linux

我正在將幾個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 Genetics”結尾,但是如果最后一部分太復雜的話,“ 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM