|
|||||||||||||||||||||||||||
#!/usr/bin/perl -w
use strict;
die "usage: $0 alias newuser\n" unless (defined($ARGV[1]));
my $alias = $ARGV[0];
my $newuser = $ARGV[1];
while (<STDIN>) {
if (/^$alias/) {
s/^(.*)$/$1, $newuser/;
}
print STDOUT $_;
}
exit 0;
... tager whatever fil m. aliasagtig struktur på stdin, og leverer den
modificerede
på stdout. Man kan jo wrappe noget shell omkring hvis man rent faktisk
vil have
/etc/aliases modificeret. Så kan man også få kørt newaliases og få lave
hashen.
/Jesper
-----Original Message-----
From: Frank Nørvig [mailto:sslug@sslug
Sent: 14. maj 2002 13:48
To: sslug@sslug
Subject: [PERL] redigering i fil
Hejsa
Jeg er relativt ny i Perl-programmering, og jeg ønsker at lave et script
som
redigerer i min /etc/aliases fil.
I aliases kan der f.eks. stå (blandt hundredevis af andre af samme
slags):
wdkfrno: sslug@sslug
frank.norvig: wdkfrno
Mit script skal kunne gå ind i aliases og finde "wdkfrno:
sslug@sslug"
og tilføje/ændre så der kommer til at stå "wdkfrno: sslug@sslug,
sslug@sslug"
Altså tilføje til en enkelt linie i aliases-filen.
Kan dette lade sig gøre i Perl uden de store krumspring?
Mvh Frank Nørvig
|
||||||||||||||
|
||||||||||||||