How to rename file names? I want to map names:
abc-hdpi.png ⟶ abc.png
bcd-hdpi.png ⟶ bcd.png
...
I have many files to do this, so mv abc-hdpi.png abc.png
is not a good solution.
How to rename file names? I want to map names:
abc-hdpi.png ⟶ abc.png
bcd-hdpi.png ⟶ bcd.png
...
I have many files to do this, so mv abc-hdpi.png abc.png
is not a good solution.
Search for prename
(Perl rename
) command; it can do the job easily:
prename 's/-hdpi.png/.png/' *-hdpi.png
Failing that:
for file in *-hdpi.png
do
mv "$file" "${file%-hdpi.png}.png"
done
You can extract from a fixed length string like so:
NAME[0]="abc-hdpi.png"
NAME[1]="def-hdpi.png"
NAME[2]="ghi-hdpi.png"
NAME[3]="jkl-hdpi.png"
NAME[4]="mno-hdpi.png"
rename(){
var=$1
mv $var $var{0:2}$var{8:}
}
for i in "${Name[@]}"
do
rename $i
done