| 1234567891011121314151617181920212223242526272829303132333435 |
- #!/bin/bash
- cat $1 | grep "\*TOI\*" | cut -b 22- | sed "s/ /,/g" | sed "s/\.//" | sort -n > $1.tmp
- COLUMNS=$(cat $1.tmp | awk -F ',' ' { print $2 } ' | sort | uniq)
- echo -n "pfn," > $1.tmp2
- for NAME in $COLUMNS; do
- echo -n "$NAME," >> $1.tmp2
- done
- echo >> $1.tmp2
- FIRST=1
- declare -A data
- while IFS=, read -r pfn column value; do
- if [ $FIRST -eq 1 ]; then
- FIRST=0
- LAST_PFN=$pfn
- fi
- if [ $pfn -ne $LAST_PFN ]; then
- echo -n "$LAST_PFN," >> $1.tmp2;
- for NAME in $COLUMNS; do
- echo -n "${data[$NAME]}," >> $1.tmp2
- done
- data=( )
- echo >> $1.tmp2
- LAST_PFN=$pfn
- fi
- if [ -z "$value" ]; then
- data[$column]=X
- else
- data[$column]=$value
- fi
- done < $1.tmp
- mv $1.tmp2 $1.csv
- rm $1.tmp
- LIBREOFFICE=$(which libreoffice)
- [ -n "$LIBREOFFICE" ] && libreoffice $1.csv &
|