Mercurial > ec-dotfiles
view bin/putcrc.pl @ 697:7359a8dbab5c
[bashrc] Simplify grep check and unify ls check
author | nanaya <me@nanaya.pro> |
---|---|
date | Sun, 23 Oct 2022 02:04:26 +0900 |
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);