How to batch rearrange file names in OSX? -
i running osx yosemite.
i have batch of files named in format: xx-yyyab.txt
the xx variable numbers, yyy. 'a' , 'b' variable letters.
i rearrange file name yyy-xxab.txt can sort yyy component.
i in terminal - run on copy of files first in case clobbers something. make sure change directory files before run it.
save following file renamethem
#!/bin/bash # loop through files start digits, have dashes, , end in ".txt" f in [0-9]*-*.txt;do # xx - leading digits before dash xx=${f/-*/} # yy - digits after dash yy=$(sed -e 's/.*-([0-9]*).*/\1/' <<< $f) # letters before ".txt" zz=$(sed -e 's/.*[0-9](.*)\.txt/\1/' <<< $f) # debug echo $xx, $yy, $zz # remove word "echo" below actual rename echo mv "$f" "${yy}-${xx}${zz}.txt" done then following once make executable
chmod +x renamethem then run typing
/.renamethem sample output
mv 12-345ab.txt 345-12ab.txt mv 333333-9999axrt.txt 9999-333333axrt.txt mv 45-3rm.txt 3-45rm.txt
Comments
Post a Comment