簡體   English   中英

我怎樣才能減少重命名時間?

[英]How can i reduce rename time?

所以,我有 ~ 6k 個文件,我需要檢查什么,如果需要,重命名。 原因是,我的一些圖像名稱有我不需要的重音字符,需要重命名為簡單字符。 例如。:

Bas-vs-Broek-DTR-025-Dobszék-állítható-magasságú.jpg

Bas-vs-Broek-DTR-025-Dobszek-allithato-magassagu.jpg

我現在正在通過查找和重命名來完成這項工作:

find . -type f -exec rename 's/ ö|ő|ó|ö/o/g' '{}' \; -exec rename 's/ ü|ű|ú/u/g' '{}' \; -exec rename 's/ á/a/g' '{}' \; -exec rename 's/ é/e/g' '{}' \; -exec rename 's/ í/i/g' '{}' \;

現在的問題是需要超過 30-35 分鍾。 我能以某種方式減少這個過程時間嗎? 我需要遞歸檢查所有子文件夾。

您的目標應該是減少rename的調用次數,因為 fork+execve 是相對昂貴的操作。

您可以通過將所有模式連接到一個rename命令中來完成此操作,然后讓find使用+而不是\; :

find . -type f -exec \
   rename 's/ö|ő|ó|ö/o/g; s/ü|ű|ú/u/g; s/á/a/g; s/é/e/g; s/í/i/g' '{}' +

我想我找到了完美的解決方案。 發現有正則表達式選項(我不知道),現在快得多,Egg:我如何使用:

find . -regex '.*[á].*' -type f -exec rename 's/á/a/g' '{}' \;

暫無
暫無

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

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