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);