iremove ending comma in CSV export - dossier - console collection manager Err bitreich.org 70 1Log /scm/dossier/log.gph bitreich.org 70 1Files /scm/dossier/files.gph bitreich.org 70 1Refs /scm/dossier/refs.gph bitreich.org 70 1Tags /scm/dossier/tag bitreich.org 70 1README /scm/dossier/file/README.gph bitreich.org 70 1LICENSE /scm/dossier/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit a1caf3c78149748328e3a77277d3917df1b36abb /scm/dossier/commit/a1caf3c78149748328e3a77277d3917df1b36abb.gph bitreich.org 70 1parent b9634f331f3916bb064b16bddefa64e0486078e7 /scm/dossier/commit/b9634f331f3916bb064b16bddefa64e0486078e7.gph bitreich.org 70 hAuthor: Solene Rapenne URL:mailto:solene@perso.pw bitreich.org 70 iDate: Thu, 2 Aug 2018 13:22:11 +0200 Err bitreich.org 70 i Err bitreich.org 70 iremove ending comma in CSV export Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M dossier | 15 +++++++++++---- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 11 insertions(+), 4 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/dossier b/dossier /scm/dossier/file/dossier.gph bitreich.org 70 i@@ -64,10 +64,10 @@ export_csv() { Err bitreich.org 70 i cd "$REPO" Err bitreich.org 70 i Err bitreich.org 70 i # display header Err bitreich.org 70 i- printf '"identifier",' Err bitreich.org 70 i+ printf '"identifier"' Err bitreich.org 70 i find . -name '.git' -prune -o -type f -print | cut -d '/' -f 2 | sort | uniq | while read attr Err bitreich.org 70 i do Err bitreich.org 70 i- printf '"%s",' $attr Err bitreich.org 70 i+ printf ',"%s"' $attr Err bitreich.org 70 i done Err bitreich.org 70 i printf '\n' Err bitreich.org 70 i Err bitreich.org 70 i@@ -75,11 +75,18 @@ export_csv() { Err bitreich.org 70 i find . -name '.git' -prune -o -type f -print | cut -d '/' -f 3 | sort | uniq | while read id Err bitreich.org 70 i do Err bitreich.org 70 i printf '"%s",' "$id" Err bitreich.org 70 i+ FIRST=0 Err bitreich.org 70 i find . -name '.git' -prune -o -type f -print | cut -d '/' -f 2 | sort | uniq | while read attr Err bitreich.org 70 i do Err bitreich.org 70 i+ if [ "$FIRST" -eq 0 ] Err bitreich.org 70 i+ then Err bitreich.org 70 i+ FIRST=1 Err bitreich.org 70 i+ else Err bitreich.org 70 i+ printf "," Err bitreich.org 70 i+ fi Err bitreich.org 70 i # for faster processing, we do not check existence of file before Err bitreich.org 70 i- awk '{ printf "\"%s\",",$0}' "${attr}/${id}" 2>/dev/null \ Err bitreich.org 70 i- || printf '"",' Err bitreich.org 70 i+ awk '{ printf "\"%s\"",$0}' "${attr}/${id}" 2>/dev/null \ Err bitreich.org 70 i+ || printf '""' Err bitreich.org 70 i done Err bitreich.org 70 i printf '\n' Err bitreich.org 70 i done Err bitreich.org 70 .