如何重命名大量檔案並刪除副檔名

如何重命名大量檔案並刪除副檔名

我需要重命名以下文件。我只想刪除.job-209675以 開頭的文件名SOA,但保持原始文件名完整,因為該目錄中還有其他文件

例如
之前:./SOA_990377897NW0001_1557340549734.xml.job-2074645
之後:./SOA_990377897NW0001_1557340549734.xml

答案1

如果變數filename包含其中一個檔案的名稱,則${filename%.job-*}該名稱將在最後一個點之後不帶位元。

要循環文件名,依序重命名每個文件,

for filename in SOA_*.job-*; do
    echo mv -i "$filename" "${filename%.job-*}"
done

echo是為了保護。您應該運行一次循環並檢查輸出,echo如果您認為正確,則刪除 。此-i選項mv使其在覆蓋現有文件之前要求確認。

這假設所有相關文件(而不是其他文件)都與該SOA_*.job-*模式相符。

相關內容