attn: programmers - quick shell or perl script will paypal

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • m0rph3us
    Confirmed User
    • Mar 2001
    • 2033

    #1

    attn: programmers - quick shell or perl script will paypal

    I need a quick shell or perl script that renames files recursively.

    I have 100k files all like this in multiple directories and subdirectories:

    something_1.jpg something_10.jpg something_100.jpg
    need to rename everything to
    something_001.jpg something_010.jpg something_100.jpg

    script should handle wildcards for the "something" as well as work recursively in directories (ie, I run it once, it seeks all *.jpg files as deep as possbile in the dir structure)

    post your contact info icq me at 91603384. looking to get this done tonight or tomorrow. quick cash via paypal.

    NB: This shell script has to run on FreeBSD or can be a perl script running in FreeBSD

    cheers.
    <font size="2" face="Tahoma"><a href="http://www.18blowjobs.com/webmasters/?640" target="_blank">Get paid $25 per signup</a> listing over <a href="http://galleries.18blowjobs.com/hosted.html" target="_blank">100 free hosted video galleries</a> - <a href="http://www.18blowjobs.com/webmasters/?640" target="_blank">Check it</a> » </font>
  • m0rph3us
    Confirmed User
    • Mar 2001
    • 2033

    #2
    bump.
    <font size="2" face="Tahoma"><a href="http://www.18blowjobs.com/webmasters/?640" target="_blank">Get paid $25 per signup</a> listing over <a href="http://galleries.18blowjobs.com/hosted.html" target="_blank">100 free hosted video galleries</a> - <a href="http://www.18blowjobs.com/webmasters/?640" target="_blank">Check it</a> » </font>

    Comment

    • goBigtime
      Confirmed User
      • Nov 2002
      • 7761

      #3
      hmm no I can't figure that one out quickly enough to be free, sorry
      Last edited by goBigtime; 10-25-2003, 11:46 PM.

      Comment

      • Phil21
        Confirmed User
        • May 2001
        • 993

        #4
        Hehe..

        One of my first ever times here someone asked for basically exactly this.

        I did it, and then they didn't pay.

        Ah.. memories.....

        -Phil
        Quality affordable hosting.

        Comment

        • goBigtime
          Confirmed User
          • Nov 2002
          • 7761

          #5
          it is ALWAYS

          somethingunderscore#.jpg right?

          Comment

          • Phil21
            Confirmed User
            • May 2001
            • 993

            #6
            Alright.. I got bored.

            make a perl script somewhere on your server with the following in it:

            #!/usr/bin/perl
            # Renames stuff..
            #

            my $fn = $ARGV[0];
            $fn =~ m/(.+[^\d])(\d+)\.(.+)/;
            my $newfn = sprintf("%s%03d.%s",$1,$2,$3);

            unless ($fn eq $newfn) {
            `mv $fn $newfn`;
            print "Moved $fn to $newfn\n";
            } else {
            print "skipped $fn\n";
            }

            then run something like:

            find /home/phil21/gfyhelp -name \*.txt -exec /home/phil21/gfyhelp/rename.pl {} \;

            (all on one line)

            replace /home/phil21/gfyhelp w/ whatever directory you want to rename files in. change \*.txt to \*.jpg or whatever. If you have multiple extensions just run it multiple times, or make your own wildcard whatever. I just always, always have some form of control there out of habit. Saved my ass a few times.

            and change /home/phil21/gfyhelp/rename.pl to the full path of wherever you put the perl script pasted above.

            This will change any files to be 3 digits (1 to 001 21 to 021, 100 will stay the same, etc.), and output what it did. It works on any files that have digits before the dot, and at least one non-digit before those digits. (123something1.jpg would match, for example)

            Shrug. works fine here. It's recursive and output is something like:

            skipped /home/phil21/gfyhelp/foobar003.txt
            Moved /home/phil21/gfyhelp/foobar3.txt to /home/phil21/gfyhelp/foobar003.txt
            Moved /home/phil21/gfyhelp/recurs/foobar1.txt to /home/phil21/gfyhelp/recurs/foobar001.txt
            Moved /home/phil21/gfyhelp/recurs/foobar3.txt to /home/phil21/gfyhelp/recurs/foobar003.txt
            skipped /home/phil21/gfyhelp/foobar001.txt
            skipped /home/phil21/gfyhelp/foobar002.txt
            Moved /home/phil21/gfyhelp/foobar6.txt to /home/phil21/gfyhelp/foobar006.txt

            will skip any files that source/dest are the same (if the digits don't need to be padded basically).

            I would suggest copying your dir tree in full, and running this over that. Then once you look over to make sure it's correct putting on your live stuff.

            -Phil
            Quality affordable hosting.

            Comment

            • m0rph3us
              Confirmed User
              • Mar 2001
              • 2033

              #7
              hey phil thanks for the solution. works like a charm & best of all it's free. If you guys help your non-customers like this, I can't even imagine what you'd do if we were a customer

              I'll definately check http://www.reflected.net for some deals soon.
              <font size="2" face="Tahoma"><a href="http://www.18blowjobs.com/webmasters/?640" target="_blank">Get paid $25 per signup</a> listing over <a href="http://galleries.18blowjobs.com/hosted.html" target="_blank">100 free hosted video galleries</a> - <a href="http://www.18blowjobs.com/webmasters/?640" target="_blank">Check it</a> » </font>

              Comment

              • cheekycherry
                Confirmed User
                • Feb 2002
                • 1703

                #8
                Originally posted by m0rph3us
                hey phil thanks for the solution. works like a charm & best of all it's free. If you guys help your non-customers like this, I can't even imagine what you'd do if we were a customer

                I'll definately check http://www.reflected.net for some deals soon.
                Pay the man... A good deed should always be rewarded. If you don't pay him, I will.

                Comment

                • JamesK
                  hi
                  • Jun 2002
                  • 16731

                  #9
                  sorry
                  M3Server - NATS Hosting

                  Comment

                  • TheViper
                    Confirmed User
                    • Mar 2003
                    • 2560

                    #10
                    Originally posted by Wildcard
                    sorry
                    LOL

                    Comment

                    • m0rph3us
                      Confirmed User
                      • Mar 2001
                      • 2033

                      #11
                      Originally posted by cheekycherry


                      Pay the man... A good deed should always be rewarded. If you don't pay him, I will.
                      I offered by phil refused payment. very kind of him
                      <font size="2" face="Tahoma"><a href="http://www.18blowjobs.com/webmasters/?640" target="_blank">Get paid $25 per signup</a> listing over <a href="http://galleries.18blowjobs.com/hosted.html" target="_blank">100 free hosted video galleries</a> - <a href="http://www.18blowjobs.com/webmasters/?640" target="_blank">Check it</a> » </font>

                      Comment

                      Working...