Des scripts pour imprimer les données dans TSV sous la forme d'un layout prédéfini - retour accueil
git clone git://bebou.netlib.re/tsv2layout
Log | Files | Refs | README |
tsv2layout.printf2 (547B)
1 #! /bin/sh 2 3 tmpd=$(mktemp -d) 4 5 layout=$(< $1 sed -E 's/\$[a-zA-Z]+/%s/g') 6 nbargs=$(echo "$layout" | grep -o '%s' | wc -l) 7 maxargs=$(echo "4096/$nbargs*$nbargs" | bc) 8 9 cat > $tmpd/in 10 11 < $tmpd/in head -n1 | tr ' ' '\n' | nl -n ln -w1 > $tmpd/vars 12 13 for var in $(< $1 grep -wEo '\$[a-zA-Z]+' | tr -d '$');do 14 grep "$var" $tmpd/vars 15 done | 16 cut -f1 | paste -s -d',' | 17 xargs -I{} awk -F'\t' -v col={} ' 18 BEGIN{getline;split(col,cols,",")} 19 { for (i=1;i<5;i++) { print $cols[i] } }' $tmpd/in | 20 xargs -d'\n' -n$maxargs printf "$layout\n" 21 22 rm -rf $tmpd 23