X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=eg%2Frelink;h=2c5793fbe793b1fd0e6a11d7f67175b5b5610ecc;hb=697943021785eb8447e25eb51a6f27fd78921863;hp=2d8e5f654061a8200c1559ee8be18590139e6a00;hpb=9f68db38bddc39fbd37e57bf1751eaf7aac28e57;p=p5sagit%2Fp5-mst-13.2.git diff --git a/eg/relink b/eg/relink index 2d8e5f6..2c5793f 100644 --- a/eg/relink +++ b/eg/relink @@ -1,14 +1,15 @@ #!/usr/bin/perl +'di'; +'ig00'; +# +# $RCSfile: relink,v $$Revision: 4.1 $$Date: 92/08/07 17:20:29 $ +# +# $Log: relink,v $ ($op = shift) || die "Usage: relink perlexpr [filenames]\n"; if (!@ARGV) { - if (-t) { - @ARGV = <*>; - } - else { - @ARGV = ; - chop(@ARGV); - } + @ARGV = ; + chop(@ARGV); } for (@ARGV) { next unless -l; # symbolic link? @@ -22,3 +23,60 @@ for (@ARGV) { symlink($_, $name); } } +############################################################################## + + # 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 RELINK 1 "July 30, 1990" +.AT 3 +.SH LINK +relink \- relinks multiple symbolic links +.SH SYNOPSIS +.B relink perlexpr [symlinknames] +.SH DESCRIPTION +.I Relink +relinks the symbolic links given 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 names specified. +For each symbolic link named on the command line, the Perl expression +will be executed on the contents of the symbolic link with that name. +If a given symbolic link's contents is not modified by the expression, +it will not be changed. +If a name given on the command line is not a symbolic link, it will be ignored. +If no names are given on the command line, names will be read +via standard input. +.PP +For example, to relink all symbolic links in the current directory +pointing to somewhere in X11R3 so that they point to X11R4, you might say +.nf + + relink 's/X11R3/X11R4/' * + +.fi +To change all occurences of links in the system from /usr/spool to /var/spool, +you'd say +.nf + + find / -type l -print | relink 's#/usr/spool#/var/spool#' + +.fi +.SH ENVIRONMENT +No environment variables are used. +.SH FILES +.SH AUTHOR +Larry Wall +.SH "SEE ALSO" +ln(1) +.br +perl(1) +.SH DIAGNOSTICS +If you give an invalid Perl expression you'll get a syntax error. +.SH BUGS +.ex