|
| Søg og erstat Fra : Mogens |
Dato : 17-12-02 09:30 |
|
Jeg er ikke just script ekspert, men mon ikke det på én eller anden måde
skulle være muligt at søge i filen /etc/mail/sendmail.cf og erstatte linien:
O PrivacyOptions=authwarnings
med
O PrivacyOptions=authwarnings, goaway
Endvidere mangler jeg også at erstatte flere linier (samme fil):
Mlocal, P=/usr/libexec/mail.local, F=lsDFMAw5:/|@qPrmn9,
S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
T=DNS/RFC822/X-Unix,
A=mail -d $u
med dette (så jeg kan køre ProcMail)
Mlocal, P=/usr/bin/procmail, F=SAw5:|/@glDFMPhsfn, S=10/30, R=20/40,
T=DNS/RFC822/X-Unix,
A=procmail -Y -a $h -d $u
?? Kan man bare lige sådan gøre det? Jeg må sige, at jeg er lidt tom for
idéer hvordan. Jeg mangler lidt en "replace" funktion
Mogens
| |
Heine Laursen (17-12-2002)
| Kommentar Fra : Heine Laursen |
Dato : 17-12-02 12:22 |
|
"Mogens" <nowhere@microsoft.com> wrote in
news:3dfee074$0$47406$edfadb0f@dtext01.news.tele.dk:
> Jeg er ikke just script ekspert, men mon ikke det på én eller anden
> måde skulle være muligt at søge i filen /etc/mail/sendmail.cf og
> erstatte linien:
>
> O PrivacyOptions=authwarnings
> med
> O PrivacyOptions=authwarnings, goaway
cat < sendmail.cf | sed -e 's/O PrivacyOptions=authwarnings/O
PrivacyOptions=authwarnings, goaway/' > nyfil
vil kunde gøre det, Du må ikke gemme den i den samme fil, som du læser fra,
for så får du en tom fil! Men der er sikkert andre der har mere elegante
metoder til at gøre det på.
> Endvidere mangler jeg også at erstatte flere linier (samme fil):
Måske perl kan hjælpe dig med det?
<snip>
--
Mvh
Heine Laursen
| |
Arne Schwerdtfegger (17-12-2002)
| Kommentar Fra : Arne Schwerdtfegger |
Dato : 17-12-02 12:45 |
|
Heine Laursen <gozar@myrealbox.com> wrote in
news:Xns92E77D7253C5Fgozarmyrealboxcom@130.225.247.90:
> cat < sendmail.cf | sed -e 's/O PrivacyOptions=authwarnings/O
> PrivacyOptions=authwarnings, goaway/' > nyfil
>
> vil kunde gøre det, Du må ikke gemme den i den samme fil, som du læser
> fra, for så får du en tom fil! Men der er sikkert andre der har mere
> elegante metoder til at gøre det på.
sed fik '-i' som er in-place replacing i filer med i FreeBSD 4.7 - til
linux kan jeg anbefale 'supersed' som har samme funktion.
> > Endvidere mangler jeg også at erstatte flere linier (samme fil):
>
> Måske perl kan hjælpe dig med det?
perl -pi -e 's/ost/kage/g' fil
--
Knud
| |
Mogens (17-12-2002)
| Kommentar Fra : Mogens |
Dato : 17-12-02 13:19 |
|
> sed fik '-i' som er in-place replacing i filer med i FreeBSD 4.7 - til
> linux kan jeg anbefale 'supersed' som har samme funktion.
Når jeg skriver:
cat sendmail.cf | sed -i bck -e ' s/O PrivacyOptions=authwarnings/O
PrivacyOptions=authwarnings, goaway/'
får jeg blot "sed: -i may not be used with stdin" tilbage?
Har også prøvet uden "bck" (så extension er 0, som de jo fraråder). Hvordan
benytter man ellers -i?
Mogens
| |
Arne Schwerdtfegger (17-12-2002)
| Kommentar Fra : Arne Schwerdtfegger |
Dato : 17-12-02 14:22 |
|
"Mogens" <nowhere@microsoft.com> wrote in
news:3dff1624$0$47425$edfadb0f@dtext01.news.tele.dk:
> Når jeg skriver:
> cat sendmail.cf | sed -i bck -e ' s/O PrivacyOptions=authwarnings/O
> PrivacyOptions=authwarnings, goaway/'
>
> får jeg blot "sed: -i may not be used with stdin" tilbage?
>
> Har også prøvet uden "bck" (så extension er 0, som de jo fraråder).
> Hvordan benytter man ellers -i?
Excessive use of cat :)
kain@iron~$ cat fil
ost
kage
ost
kain@iron~$ sed -i .bck -e 's/ost/snaps/g' fil
kain@iron~$ cat fil
snaps
kage
snaps
kain@iron~$ cat fil.bck
ost
kage
ost
kain@iron~$
--
Knud
| |
Byrial Jensen (17-12-2002)
| Kommentar Fra : Byrial Jensen |
Dato : 17-12-02 22:32 |
|
Arne Schwerdtfegger <knud@INVALIDskodliv.dk> skrev:
> sed fik '-i' som er in-place replacing i filer med i FreeBSD 4.7 - til
> linux kan jeg anbefale 'supersed' som har samme funktion.
super-sed er integreret i/foræret til/udgivet som[1] GNU sed 4.0.
Så GNU/Linux-brugere kan bruge blot den sædvanlige sed hvis deres
system er tilstrækkeligt nyt - eller alternativt opgradere det.
[1] Læseren må selv finde ud af hvilken af mulighederne som
udtrykker forholdet mest præcist.
| |
Mogens (17-12-2002)
| Kommentar Fra : Mogens |
Dato : 17-12-02 13:12 |
|
> > Jeg er ikke just script ekspert, men mon ikke det på én eller anden
> > måde skulle være muligt at søge i filen /etc/mail/sendmail.cf og
> > erstatte linien:
> >
> > O PrivacyOptions=authwarnings
> > med
> > O PrivacyOptions=authwarnings, goaway
>
> cat < sendmail.cf | sed -e 's/O PrivacyOptions=authwarnings/O
> PrivacyOptions=authwarnings, goaway/' > nyfil
Mange tak - det løste mit problem her og nu Og så fandt jeg i samme
omgang klogere på hvordan "sed" fungere.
Mogens
| |
Peter Makholm (17-12-2002)
| Kommentar Fra : Peter Makholm |
Dato : 17-12-02 13:21 |
|
Heine Laursen <gozar@myrealbox.com> writes:
> cat < sendmail.cf | sed -e 's/O PrivacyOptions=authwarnings/O
> PrivacyOptions=authwarnings, goaway/' > nyfil
Ok, jeg har set cat(1) misbrugt mange gange, men det er nu den
værste. Du har en cat, der læser fra stdin og skriver ud på stdout?
Hvad med
sed -e 's/O PrivacyOptions=authwarnings/O PrivacyOptions=authwarnings, goaway/' < sendmail.cf > nyfil
Hvis du endelig insisterer på at bruge cat(1), så er den normale måde
altså:
cat sendmail.cf | sed -e 's/O PrivacyOptions=authwarnings/O PrivacyOptions=authwarnings, goaway/' > nyfil
Så har cat i det mindste da en eller anden form for funktion.
--
Peter Makholm | I have no caps-lock but I must scream...
peter@makholm.net | -- Greg
http://hacking.dk |
| |
Heine Laursen (17-12-2002)
| Kommentar Fra : Heine Laursen |
Dato : 17-12-02 13:53 |
|
Peter Makholm <peter@makholm.net> wrote in
news:87of7k6dm8.fsf@xyzzy.adsl.dk:
> Heine Laursen <gozar@myrealbox.com> writes:
>
>> cat < sendmail.cf | sed -e 's/O PrivacyOptions=authwarnings/O
>> PrivacyOptions=authwarnings, goaway/' > nyfil
>
> Ok, jeg har set cat(1) misbrugt mange gange, men det er nu den
> værste. Du har en cat, der læser fra stdin og skriver ud på stdout?
Hvoffor er det misbrug?
Jeg har altig brugt "cat < " Hvoffor ved jeg ikke! (well måske fordi jeg
aldrig har læst man siden!)
> Hvad med
>
> sed -e 's/O PrivacyOptions=authwarnings/O
> PrivacyOptions=authwarnings, goaway/' < sendmail.cf > nyfil
Det er ikke så lang tid siden jeg begyndte at lave shell scripts, så jeg er
ikke sikker, i de mange forskellige omdiregerings muligheder,
> Hvis du endelig insisterer på at bruge cat(1), så er den normale måde
> altså:
>
> cat sendmail.cf | sed -e 's/O PrivacyOptions=authwarnings/O
> PrivacyOptions=authwarnings, goaway/' > nyfil
Jeg syntes, det ser mere logisk ud i den form.
--
Mvh
Heine Laursen
| |
Peter Makholm (17-12-2002)
| Kommentar Fra : Peter Makholm |
Dato : 17-12-02 13:46 |
|
"Mogens" <nowhere@microsoft.com> writes:
> Har også prøvet uden "bck" (så extension er 0, som de jo fraråder). Hvordan
> benytter man ellers -i?
Et bud kunne være:
sed -i bck -e ' s/O PrivacyOptions=authwarnings/O PrivacyOptions=authwarnings, goaway/' sendmail.cf
--
Peter Makholm | Sit back and watch the messages. This is actually
peter@makholm.net | more important than one might think as there is a
http://hacking.dk | bug in GNU Mach whereby hitting a key during the
| boot process causes the kernel to panic
| -- GNU Hurd Installation Guide
| |
Adam Sjøgren (17-12-2002)
| Kommentar Fra : Adam Sjøgren |
Dato : 17-12-02 17:31 |
|
On Tue, 17 Dec 2002 12:53:24 +0000 (UTC), Heine Laursen wrote:
>>> cat < sendmail.cf | sed -e 's/O PrivacyOptions=authwarnings/O
>>> PrivacyOptions=authwarnings, goaway/' > nyfil
>> Ok, jeg har set cat(1) misbrugt mange gange, men det er nu den
>> værste. Du har en cat, der læser fra stdin og skriver ud på stdout?
> Hvoffor er det misbrug?
Normal misbrug af cat er at man bruger cat til at skrive en fil ud til
stdout hvor det ikke er nødvendigt; ikke nødvendigt fordi det program
man piper filen ind i selv kan tage filen som argument. Ex:
$ cat foo | grep bar
kan lige så godt - eller bedre - skrives:
$ grep bar foo
Dit misbrug tilføjer den krølle, at du ikke engang bruger cat til at
smide indholdet af en navngivet fil til stdout ("cat filnavn"), du
lader shell'en redirecte filens indhold til cat's stdin, som den så
skriver på stdout.
cat's tvivlsomme funktion i det første eksempel ovenfor er at læse fra
en navngivet fil. Med konstruktionen:
$ cat < foo | grep bar
har du frataget det stakkels program selv den ubetydelige funktion
> Jeg har altig brugt "cat < " Hvoffor ved jeg ikke! (well måske fordi
> jeg aldrig har læst man siden!)
Det ville så være man-siden til en vilkårlig shell med redirections og
pipes.
Mvh.
--
"Some people like cupcakes better. Adam Sjøgren
I for one care less for them!"" asjo@koldfront.dk
| |
Thomas (17-12-2002)
| Kommentar Fra : Thomas |
Dato : 17-12-02 12:26 |
|
Mogens wrote:
> Jeg er ikke just script ekspert, men mon ikke det på én eller anden måde
> skulle være muligt at søge i filen /etc/mail/sendmail.cf og erstatte linien:
Jeg går udfra at du bare bruger sendmail.cf som eksempel ?
Hvis ikke, så har du selv bedt om at få svære tider fremover. Den nemme
måde at konfigurere sendmail på er ved at lave en .mc fil og så generere
din .cf fil v.h.a. m4.
--
Don't waste space
| |
Mogens (17-12-2002)
| Kommentar Fra : Mogens |
Dato : 17-12-02 13:09 |
|
> Jeg går udfra at du bare bruger sendmail.cf som eksempel ?
Nope - den er skam god nok
> Hvis ikke, så har du selv bedt om at få svære tider fremover. Den nemme
> måde at konfigurere sendmail på er ved at lave en .mc fil og så generere
> din .cf fil v.h.a. m4.
Det gør jeg allerede - kompilere Sendmail. Men jeg har ikke kunne finde lige
dén option noget sted (at man kan disable VRFY/EXPN). Jeg har kun set
muligheden ved at rette direkte i sendmail.cf.
Jeg har dog set, at man kan skifte ProcMail og det har jeg da også prøvet
(FEATURE(local_procmail)) men så er min sti forkert, når den kommer i
sendmail.cf?
Mogens
| |
Thomas (17-12-2002)
| Kommentar Fra : Thomas |
Dato : 17-12-02 13:57 |
|
Mogens wrote:
>> Jeg går udfra at du bare bruger sendmail.cf som eksempel ?
>
> Nope - den er skam god nok
>
>> Hvis ikke, så har du selv bedt om at få svære tider fremover. Den nemme
>> måde at konfigurere sendmail på er ved at lave en .mc fil og så generere
>> din .cf fil v.h.a. m4.
>
> Det gør jeg allerede - kompilere Sendmail. Men jeg har ikke kunne finde lige
> dén option noget sted (at man kan disable VRFY/EXPN). Jeg har kun set
> muligheden ved at rette direkte i sendmail.cf.
define(`confPRIVACY_FLAGS', `goaway')
> Jeg har dog set, at man kan skifte ProcMail og det har jeg da også prøvet
> (FEATURE(local_procmail)) men så er min sti forkert, når den kommer i
> sendmail.cf?
define(`PROCMAIL_MAILER_PATH',`/usr/local/bin/procmail')
Alt står i den README, der ligger i dit cf-dir.
--
Don't waste space
| |
Mogens (17-12-2002)
| Kommentar Fra : Mogens |
Dato : 17-12-02 16:09 |
|
> define(`confPRIVACY_FLAGS', `goaway')
Jeg har taget "authwarnings" med også, da den stod der i forvejen.
> define(`PROCMAIL_MAILER_PATH',`/usr/local/bin/procmail')
> Alt står i den README, der ligger i dit cf-dir.
Mange tak - sidder og kigger i filen nu. Har ikke set alle README filer, da
der er mange, men denne er meget god
Mogens
| |
|
|