[英]Rename files using shell with occurence more than once
我正在嘗試將*%3A *%3A * .xml等文件重命名為:: *。xml。
MODFILE=`echo $1 | tr -s '"%3A"' ':'`
mv $1 "${MODFILE}"
只要我不直接連續%3A,就可以工作。 我搜索了很多,發現幾個腳本只重命名第一次出現,或者只有當我只有一次出現時才能重命名。
例如,這只適用於一次:
for files in *%3A*.xml
do
mv "$files" "${files/%3A/:}"
done
有人可以幫我這個嗎? 我對shellcripting不太滿意:/
你幾乎就在那里,如果你使用:
mv "$files" "${files//%3A/:}"
(兩個斜杠而不是一個),然后將替換所有出現的事件。
最簡單的方法是使用重命名
rename %3A : *
它可能只需要第一次出現,但是你必須再次執行它。
重命名也可以接受正則表達式作為輸入,但這取決於系統。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.