This is a short script that takes a list of concatenated certificates as input (such as a collection of CA certificates) and produces a collection of numbered files, each containing a single certificate.

#!/bin/awk -f

# This script expects a list of concatenated certificates on input and
# produces a collection of individual numbered files each containing
# a single certificate.

BEGIN {incert=0}

/-----BEGIN( TRUSTED)? CERTIFICATE-----/ {
certno++
certfile=sprintf("cert-%d.crt", certno)
incert=1
}

/-----END( TRUSTED)? CERTIFICATE-----/ {
print >> certfile
incert=0
}

incert==1 { print >> certfile }

Parsing XML with Awk

Mon 10 September 2012 by Lars Kellogg-Stedman Tags awk xml

Recently, changes from the xmlgawk project have been integrated into GNU awk, and xmlgawk has been renamed to gawkextlib. With both a recent (post-4.0.70) gawk and gawkextlib built and installed correctly, you can write simple XML parsing scripts using gawk.

For example, let's say you would like to …

read more