我是一個新手,我已經花了 2 個小時尋找答案,但我無法自己弄清楚......
我只想替換特定檔案夾中的一些檔案名。我嘗試使用 sed 和 for 回圈。
我現在的格式是這樣的:
IMG-20211228-WA0057.jpg
IMG-20211228-WA0069.jpg
IMG-20211228-WA0078.jpg
我想要的結果是:
image_1.jpg
image_2.jpg
image_3.jpg
我怎樣才能做到這一點?
現在我已經嘗試過這樣的事情:
for f in *.jpg; sed "s/^.*/image_${f}.jpg/"; done
一些幫助會非常友好。
uj5u.com熱心網友回復:
另一種技術,如果你想用零填充數字(即image-001到image-999)
# 1. store the filenames in an array
images=(*.jpg)
# 2. width of the padding is the string length of the number of images
num=${#images[*]}
wid=${#num}
# 3. do the renaming
c=0
for img in "${images[@]}"; do
printf -v newname 'image-%0*d.jpg' $wid $(( c))
echo mv -iv "$img" "$newname"
done
uj5u.com熱心網友回復:
與bash. 我假設所有影像都在當前目錄中。
unset c; for i in *.jpg; do mv -iv "$i" "image_$(( c)).jpg"; done
輸出:
更名為“IMG-20211228-WA0057.jpg”->“image_1.jpg” 更名為“IMG-20211228-WA0069.jpg”->“image_2.jpg” 更名為“IMG-20211228-WA0078.jpg”->“image_3.jpg”
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/400974.html
下一篇:使用navArgs將Fragment轉換為DialogFragment,如何從Fragment類外部導航到DialogFragment
