/ 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
awk - extract af tmda key ??
Fra : Brian Ipsen


Dato : 20-06-02 18:50

Hej!

Jeg forsøger i et script at trække en streng ud med nøglen fra
tmda-keygen....

/home/vpopmail/tmda-0.57/bin/tmda-keygen | awk '{getline;getline
;print substr($0,0,40);'

giver mig dog

f2e168e28923fa5c9270e8b9f8c1f3ae241104a0
and make sure to keep your key secret! (

Hvorfor kommer "and ..." med ?? - Jeg havde forventet kun at få
"f2e168e28923fa5c9270e8b9f8c1f3ae241104a0" tilbage ...

Et normalt output fra tmda-keygen giver:

Generating a unique, 160-bit private key, please wait a moment..

f2e168e28923fa5c9270e8b9f8c1f3ae241104a0

Now paste the above key into ~/.tmda/crypt_key
and make sure to keep your key secret! (chmod 600 ~/.tmda/crypt_key)

Jeg tror problemet muligvis bunder i at der nogle steder i outputtet
anvendes både CR+LF - og andre steder kun LF

/Brian

 
 
Claus Rasmussen (20-06-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 20-06-02 19:06

Brian Ipsen wrote:

> Jeg forsøger i et script at trække en streng ud med nøglen fra
> tmda-keygen....

Prøv med sed i stedet:

/.../tmda-keygen | sed -n 3p

3-tallet er linienummeret. Juster selv.

-Claus


frank damgaard (20-06-2002)
Kommentar
Fra : frank damgaard


Dato : 20-06-02 20:39

Brian Ipsen <spammers@nowhere.net> wrote:

> Jeg forsøger i et script at trække en streng ud med nøglen fra
> tmda-keygen....

> /home/vpopmail/tmda-0.57/bin/tmda-keygen | awk '{getline;getline
> ;print substr($0,0,40);'

> giver mig dog

> f2e168e28923fa5c9270e8b9f8c1f3ae241104a0
> and make sure to keep your key secret! (
......

getline bruges normalt ikke, hvis du blot vil overspringe 2 linier:

awk ' NR>2 { print substr($0,0,40);}'

Hvis du yderligere ved noget om de linier du vil have pillet ud,
så kunne du bruge en regular expression:

gawk --posix ' /^[0-9a-f]{6}/ && NR>2 { print substr($0,0,40);}'

i stedet for {6} kunne det øges til længden, men 6 burde
være nok til at skelne fra tekstlinierne.


> Jeg tror problemet muligvis bunder i at der nogle steder i outputtet
> anvendes både CR+LF - og andre steder kun LF

kunne også være et problem, men dit script vil under alle omstændigheder
liste alle linier efter de 2 første (hvis du ikke får fejl først).
Hvis din version af awk ikke klarer CR/LF så kan man ofte forsøge
med at sætte RS passende: ... 'BEGIN { RS="\r\n|\n" } /...../ {.....} '


--
Frank Damgaard |


Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408871
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste