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.printf (562B)
1 #! /bin/sh 2 3 tmpd=$(mktemp -d) 4 trap "rm -rf $tmpd" EXIT 5 6 layout=$(< $1 sed -E 's/\$[a-zA-Z]+/%s/g') 7 nbargs=$(echo "$layout" | grep -o '%s' | wc -l) 8 maxargs=$(echo "4096/$nbargs*$nbargs" | bc) 9 10 cat > $tmpd/in 11 12 < $tmpd/in head -n1 | tr ' ' '\n' | nl -n ln -w1 > $tmpd/vars 13 14 for var in $(< $1 grep -wEo '\$[a-zA-Z]+' | tr -d '$');do 15 grep "$var" $tmpd/vars 16 done | 17 cut -f1 | paste -s -d',' | 18 xargs -I{} awk -F'\t' -v col={} ' 19 BEGIN{getline;n=split(col,cols,",")} 20 { for (i=1;i<n+1;i++) { print $cols[i] } }' $tmpd/in | 21 xargs -d'\n' -n$maxargs printf "$layout\n" 22