#!/bin/bash gen_file() { typeset field=$1 for fs in $FS do cat ${DIR}/$fs done | awk 'BEGIN {count=0.5}/^'$field' /{ print count" "$2;count++; }' } get_fields() { typeset dir=$1 awk '{ print $1 }' $dir/*|sort -u } getbase() { typeset file=$1 awk 'BEGIN { base=-1 } { if (base == -1) base=$2; if ($2 < base) base = $2 } END { print base}' $file } gen_gnuplot() { typeset -i count=0 field=$1 base=$2 for fs in $FS do echo "set label \"$fs\" at first $count+0.5,$base left rotate by 90 front" let count=$count+1 done cat <" exit 1 fi FIELDS=$(get_fields $DIR) FS=$(ls $DIR) rm -fr ./gnuplot mkdir gnuplot for field in $FIELDS do gen_file $field > gnuplot/$field done cd gnuplot for field in $FIELDS do base=$(getbase $field) echo "Generating ${field}.png" gen_gnuplot $field $base | gnuplot done