Renumber files: Difference between revisions

Jump to navigation Jump to search
599 bytes added ,  16 December 2010
no edit summary
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
Let's say you have a list of images named something_###.img with ### spanning 381-560, and you want to renumber them to be from 1 to 180.
Let's say you have a list of images named something_###.img with ### spanning 381-560, and you want to renumber them to be from 1 to 180.


'''echo | awk '{for(i=1;i<181;i++) printf "mv something_%03d.img something_%03d.img\n",i+380,i;}' | bash -sf'''
 
== Bash/awk one-liner ==
 
 
  echo | awk '{for(i=1;i<181;i++) printf "mv something_%03d.img something_%03d.img\n",i+380,i;}' | bash -sf


will do it.  Notice that "%03d" will make sure that numbers are padded with zeros (and if you need 4 digits total, just use %04d instead).  Also, always pipe it to less first before piping to bash, just to make sure that you are not going to inadvertently delete something.
will do it.  Notice that "%03d" will make sure that numbers are padded with zeros (and if you need 4 digits total, just use %04d instead).  Also, always pipe it to less first before piping to bash, just to make sure that you are not going to inadvertently delete something.


Back to [[Useful_scripts_%28aka_smart_piece_of_code%29]]
== Bash one-liner ==
 
  c=1 && for f in something_{381..560}.img ; do mv $f something_`printf "%03d" "$c"`.img ; c=$(($c+1)) ; done
 
== Bash script ==
 
  #!/bin/bash
  # set your first desired image number
  c=1
 
  # loop on the input file names.  the {X..Y} is called brace expansion.
  for f in something_{381..560}.img ; do
 
  # infinitely useful printf as you noted
    mv $f something_`printf "%03d" "$c"`.img
 
  # increment the counter
    c=$(($c+1))
  done # loop ends
 
== Perl one-liner ==
 
  perl -e 'for(<*>) {rename $_,$1.($2-380).$3 if /(.+?)(\d+)(.img)$/}'
 
Back to [[Useful scripts (aka smart piece of code)]]
67

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu