[英]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.