Potrzebowałem dzisiaj prosty parser, dla pliku konfiguracyjnego w moim skrypcie pisanym w bashu. Padło na .ini i genialne wygooglowane rozwiązanie
#!/bin/bash CONFIG_FILE="config.ini" SECTION="section_1" eval `sed -e 's/[[:space:]]*\=[[:space:]]*/=/g' \ -e 's/;.*$//' \ -e 's/[[:space:]]*$//' \ -e 's/^[[:space:]]*//' \ -e "s/^\(.*\)=\([^\"']*\)$/\1=\"\2\"/" \ < $CONFIG_FILE \ | sed -n -e "/^\[$SECTION\]/,/^\s*\[/{/^[^;].*\=.*/p;}"`
Co ważne autor pomysłu udostępnia go zgodnie z zasadami licencji WTFPL. 😉
Oryginał dostępny tu: http://www.tuxz.net/blog/archives/2011/10/19/parse__ini_files_with_bash_and_sed/