[linux] Re: conversie naar xml
Rob Sterenborg
rob op sterenborg.info
Za Jan 21 10:05:26 CET 2006
linux-bounce op lists.nllgg.nl scribbled on Saturday, 21 January 2006
01:39:
> Ik heb, eindelijk, een vervanger gevonden van
> passwordguardien, om mijn
> wachtwoorden handig te bewaren. Dat was het laatste programma waarvoor
> ik 'n windoos nodig had.
>
> Nu moet ik de datafile overzetten van het oude formaat naar een
> xml-formaat.
>
> Dat lijkt me typisch een probleem dat bij de open software
> tegenwoordig erg veel voor komt. Zijn daar al handige tooltjes voor of
> moet ik mijn awk-vaardigheden gaan opgraven?
>
> Hieronder de beide formaten:
...
Het is misschien geen state-of-the-art shell scripting, maar het werkt
bij mij :
(Sorry voor eventuele line-wrapping...)
=== start script ===
#!/bin/bash
old_pwd_list="pwd_old.txt"
new_pwd_list="pwd_new.txt"
echo "<?xml version="1.0" encoding="UTF-8"?>" > $new_pwd_list
echo "<pwlist>" >> $new_pwd_list
for line in `cat -A $old_pwd_list | tr " " "_"` ; do
line=`echo $line | tr "_" " "`
field=`echo $line | cut -d ":" -f 1`
data=`echo $line | cut -d ":" -f 2 | cut -d "$" -f 1 | sed 's/^ //'`
if [ "$field" == "Account / service" ] ; then
# Nieuwe sectie begint
echo " <pwentry>" >> $new_pwd_list
echo " <title>$data</title>" >> $new_pwd_list
fi
[ "$field" == "Login / username" ] && \
echo " <username>$data</username>" >> $new_pwd_list
[ "$field" == "Password" ] && \
echo " <password>$data</password>" >> $new_pwd_list
[ "$field" == "Expires" ] && \
echo " <expires>$data</expires>" >> $new_pwd_list
[ "$field" == "Misc." ] && \
echo " <misc>$data</misc>" >> $new_pwd_list
# Een sectie eindigt met een lege regel ($)
[ "$line" == "$" ] && echo " </pwentry>" >> $new_pwd_list
done
# Een sectie eindigt met $. Check of de laatste regel
# (laatste sectie) een lege regel is ; zo niet :
[ "$line" != "$" ] && echo " </pwentry>" >> $new_pwd_list
echo "</pwlist>" >> $new_pwd_list=== end script ===
Gr,
Rob
More information about the Linux
mailing list