I have to say this: os.path.walk saved my life a couple of times when I worked with mobile content.<div><br></div><div>I used to receive lots of video files without any naming convention and a CSV which listed which file had which format(s). Using a combination of os.path.walk with the CSV python module, I sorted out this mess two times a week in less than one minute.</div>

<div><br></div><div>I love you os.path.walk. If you were a girl, I would marry you.</div><div><br></div><div>xoxo</div><div>FZero<br><br><div class="gmail_quote">On Fri, May 21, 2010 at 10:38, William O'Higgins Witteman <span dir="ltr"><<a href="mailto:william.ohiggins-H217xnMUJC0sA/PxXw9srA@public.gmane.org">william.ohiggins-H217xnMUJC0sA/PxXw9srA@public.gmane.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On Fri, May 21, 2010 at 10:17:03AM -0400, Stephen wrote:<br>
>I want to do a big rename of files on my Linux system.<br>
><br>
>I have ripped a large number of CD's, and the filenames start with<br>
>the track number. But they go 1,2,3 ...10,11,12<br>
><br>
>When my PS3 accesses my (Linux) media server, it sees these as<br>
>10,11,12,1,2....<br>
><br>
>So to get the right order I want to change the files to 01,02,03...<br>
><br>
><br>
>The files are in directories:<br>
><br>
>/home/stephen/music/*artist*/*album*/filenames<br>
><br>
>What should I look at?<br>
><br>
>BASH???<br>
<br>
</div>If you have a favourite scripting language, use that.  For instance, in<br>
Python (my favoured tool) you would use the os module to walk the<br>
filesystem and generate sensible filenames (with padded numerical values).<br>
<br>
Example Pythonic pseudocode (no time to write/test a real script this<br>
morning (sorry)):<br>
<br>
import os<br>
<br>
basedir = "/home/stephen/music"<br>
<br>
for root, directory, file in os.path.walk(basedir):<br>
  for artist in directory:<br>
    for album in artist:<br>
      trackdir_location = os.path.join(root,os.path.join(directory,os.path.join(artist,album)))<br>
      tracks = os.listdir(trackdir_location)<br>
      for track in tracks:<br>
        " Assuming the files are called ##.ogg or somesuch<br>
        tracknameparts = track.split(".ogg")<br>
        newtrackname = artist + "_" + album + "_" + str("%\d2",int(tracknameparts[0]))<br>
        os.rename(os.path.join(trackdir_location,track),os.path.join(trackdir_location,newtrackname))<br>
<br>
That's off the top of my head, but it is at least an approach.  Remember<br>
to make a copy to test on :-)<br>
<br>
Good luck!<br>
--<br>
<br>
yours,<br>
<font color="#888888"><br>
William<br>
<br>
</font><br>-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v1.4.10 (GNU/Linux)<br>
<br>
iD8DBQFL9prTHQtmiuz+KT8RAnP2AJ40UUYxLeL+I5G+dfCLSmbrC+xU4gCfdyiG<br>
Db/w4RBp+siANnsEDqcCQ10=<br>
=NQzY<br>
-----END PGP SIGNATURE-----<br>
<br></blockquote></div><br></div>