You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
1.8 KiB
74 lines
1.8 KiB
#!/usr/bin/perl
|
|
'di';
|
|
'ig00';
|
|
#
|
|
# $RCSfile: rename,v $$Revision: 4.1 $$Date: 92/08/07 17:20:30 $
|
|
#
|
|
# $Log: rename,v $
|
|
|
|
($op = shift) || die "Usage: rename perlexpr [filenames]\n";
|
|
if (!@ARGV) {
|
|
@ARGV = <STDIN>;
|
|
chop(@ARGV);
|
|
}
|
|
for (@ARGV) {
|
|
$was = $_;
|
|
eval $op;
|
|
die $@ if $@;
|
|
rename($was,$_) unless $was eq $_;
|
|
}
|
|
##############################################################################
|
|
|
|
# These next few lines are legal in both Perl and nroff.
|
|
|
|
.00; # finish .ig
|
|
|
|
'di \" finish diversion--previous line must be blank
|
|
.nr nl 0-1 \" fake up transition to first page again
|
|
.nr % 0 \" start at page 1
|
|
';<<'.ex'; #__END__ ############# From here on it's a standard manual page ############
|
|
.TH RENAME 1 "July 30, 1990"
|
|
.AT 3
|
|
.SH NAME
|
|
rename \- renames multiple files
|
|
.SH SYNOPSIS
|
|
.B rename perlexpr [files]
|
|
.SH DESCRIPTION
|
|
.I Rename
|
|
renames the filenames supplied according to the rule specified as the
|
|
first argument.
|
|
The argument is a Perl expression which is expected to modify the $_
|
|
string in Perl for at least some of the filenames specified.
|
|
If a given filename is not modified by the expression, it will not be
|
|
renamed.
|
|
If no filenames are given on the command line, filenames will be read
|
|
via standard input.
|
|
.PP
|
|
For example, to rename all files matching *.bak to strip the extension,
|
|
you might say
|
|
.nf
|
|
|
|
rename 's/\e.bak$//' *.bak
|
|
|
|
.fi
|
|
To translate uppercase names to lower, you'd use
|
|
.nf
|
|
|
|
rename 'y/A-Z/a-z/' *
|
|
|
|
.fi
|
|
.SH ENVIRONMENT
|
|
No environment variables are used.
|
|
.SH FILES
|
|
.SH AUTHOR
|
|
Larry Wall
|
|
.SH "SEE ALSO"
|
|
mv(1)
|
|
.br
|
|
perl(1)
|
|
.SH DIAGNOSTICS
|
|
If you give an invalid Perl expression you'll get a syntax error.
|
|
.SH BUGS
|
|
.I Rename
|
|
does not check for the existence of target filenames, so use with care.
|
|
.ex
|