/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
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



Søg
Reklame
Statistik
Spørgsmål : 177508
Tips : 31968
Nyheder : 719565
Indlæg : 6408580
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste