簡體   English   中英

使用帶有出現多次的shell重命名文件

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

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