Mercurial > ec-dotfiles
view bin/putcrc.pl @ 132:53b39ca5a6ea
[bin/ren] Even more rules.
author | Edho Prima Arief <edho@myconan.net> |
---|---|
date | Tue, 08 Nov 2011 11:56:49 +0700 |
parents | 5bafb912837e |
children |
line wrap: on
line source
#!/usr/bin/perl use warnings; use strict; use String::CRC32; my @files = @ARGV or print("Usage: ren file1 ... fileN\n") && exit(1); my $skip=0; foreach (@files) { my $newname = $_; open(FILE,$_); my $crc=sprintf("%08X",crc32(*FILE)); close(FILE); $newname =~ s/(.*)\.([^.]*)/$1 [$crc].$2/; $newname =~ s/\] (\[$crc)/]$1/; print(qq($_: $newname already exists, skipping\n)) and next() if -e $newname and $_ ne $newname; if ($_ eq $newname) { print("$_: no need to rename, skipping\n"); } else { if($skip==1) { print("$_ --> $newname\n"); } else { if(rename($_, $newname)) { print("$_ -> $newname\n"); } else { print("$_: rename failed"); } } } next(); } exit(0);