Portál AbcLinuxu, 8. května 2025 11:16
root@dns1-dnssec keys]# cat Kdomena.tld.+005+54496.key ; This is a key-signing key, keyid 54496, for domena.tld. ; Created: 20111220141114 (Tue Dec 20 15:11:14 2011) ; Publish: 20111220141114 (Tue Dec 20 15:11:14 2011) ; Activate: 20111220141114 (Tue Dec 20 15:11:14 2011) domena.tld. IN DNSKEY 257 3 5 AwEAAdiroU8MfRedZjmdvDYafboC7SyVHFlFPMr0lpJvhor1Hc4rHEH3 K3etusUPem0B2q6+KPAvg71j6FctjWL7L/diptQdY5GFjdqEHqKuyYg8 enLaQHC+DJXiD/pOF7hVAwGpq9W9d1pLWLM/AVFRmMWD98dIE8Hn5us4 vNUCBeMytuaxBW+Gje3rllwuUI836JXqe09BVhgPVuQSr45eWWk=a ja potrebuji vytahnout nejlepe do jedne promenne hodnotu
257 3 5 'AwEAAdiroU8MfRedZjmdvDYafboC7SyVHFlFPMr0lpJvhor1Hc4rHEH3 K3etusUPem0B2q6+KPAvg71j6FctjWL7L/diptQdY5GFjdqEHqKuyYg8 enLaQHC+DJXiD/pOF7hVAwGpq9W9d1pLWLM/AVFRmMWD98dIE8Hn5us4 vNUCBeMytuaxBW+Gje3rllwuUI836JXqe09BVhgPVuQSr45eWWk='ten retezec by byl tak jak je pouze klic musi byt uvozen apostrofy. Nejlepsi na to bude pravdepodobne sed ale jak napsat ten regexp.
cat Kdomena.tld.+005+54496.key | grep -e "DNSKEY" | sed -e 's/^.*DNSKEY \(.*\)/\1/p;d'a jeste potrebuji ten klic vlozit do apostrofu
cat Kdomena.tld.+005+54496.key | grep -e "DNSKEY" | sed -e "s/^.*DNSKEY \(.*\)/\1/p; s/\([0-9 ]*\) \(.*\)$/\1 '\2'/p;d"
sed -n -e 's/.../.../p;' soubor
. Ale jak jsem napsal, ja bych to resil perlemsed -n -e "s/^.*DNSKEY \(.*\)/\1/;T;s/\([[:digit:] ]\+\) \(.*\)$/\1 '\2'/p" Kdomena.tld.+005+54496.key
export VAR="$( perl -aF'/\s+/' -ne 'print sprintf("%s %s %s \x27%s\x27\n",@F[3-5],join(" ",@F[6-$#F])) if $F[2] eq "DNSKEY";' FILE )"
Ano, sedem nebo awkem by to slo taky, ale proc se namahat, kdyz to perl zvladne hezky jednoduse.
perl -nE '$qoute="\x27";chomp;if (s/.*DNSKEY\s+(\d+\s+\d+\s+\d+\s+)//){say $1,$qoute,$_,$qoute}'
awk '/^[^;].*DNSKEY/ {print $4,$5,$6,"\47" $7,$8,$9,$10 "\47"}' <Kdomena.tld.+005+54496.key
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.