Het is nogal onleesbaar niet? Regex is super krachtig, maar een draak van een syntax. Iig succes ermee.
Als je er mee bezig bent is het nog te volgen maar ik kan mij voorstellen dat als je zoiets tegenkomt in een script zonder commentaar dat je eerst wel even met je ogen zit te knipperen.
Nogmaals bedankt voor het zetje in de goede richting.
Heb het toegepast in een scriptje om .csv bestanden wat gemakkelijker te openen in LO Calc. Het stoorde mij dat je met Excel gewoon met klikken kan openen en bij LO steeds die conversie vragen moest afhandelen. Een enkele keer is dat niet zo'n probleem maar tientallen keren per dag gaat wel irriteren.
Er is een util (csv2ods) in linux maar daar ging het niet lekker met de getallen omdat het csv bestand een komma als decimaal teken heeft en een semicolon als veld scheiding.
Dus eerst het decimaal teken wijzigen in een punt (alleen bij getallen) en daarna de conversie naar .ods.
#!/bin/bash
# convertcsv2ods
# converteren van .csv bestand naar .ods
# benodigde software LibreOffice en python-odf
# sudo apt-get install python-odf
# opdracht convert2ods <csv bestand>
FILEIN=$1
if [ -f "$FILEIN" ] ; then
FILEOUT=${FILEIN%.*}".ods"
FILETMP=".convertcsv2ods.tmp"
cp "$FILEIN" -T "$FILETMP"
sed -i -e "s/\([[:digit:]]\)\(,\)\([[:digit:]]\)/\1\.\3/g" "$FILETMP"
csv2ods -i "$FILETMP" -o "$FILEOUT" -d ";" -t Blad1 -&& xdg-open "$FILEOUT"
rm -f "$FILETMP"
fi
exit