#!/bin/bash # Script to plot .dat files x=1 toplot="2 3 5" ylabel="Counts" style="l" dir="/home/sam/Documents/University/honours/research/TCS" title=$(grep "# Title = " $1 | sed 's/# Title = //g') comment=$(grep "# Comment = " $1 | sed 's/# Comment = *//1' | head --bytes=100) labels=$(grep -A 1 "# Data:" $1 | tail --lines=1 | sed 's/#//1') if [ "$title" == "" ]; then title=$comment else title="$title\n$comment" fi filename=$(echo $1 | sed -e "s:$dir::g") title="$filename\n$title" xlabel=$(echo $labels | tr " " "\n" | head --lines=$x | tail --lines=1) if [ $2 != "" ]; then if [ $2 == $1 ]; then exit 1 fi command="set term png size 1024,800; set output \"$2\"" else command="" fi command="$command; set title \"$title\"" command="$command; set xlabel \"$xlabel\"" command="$command; set ylabel \"$ylabel\"" command="$command; set key outside right" plot="plot " for y in $toplot; do lab=$(echo $labels | tr " " "\n" | head --lines=$y | tail --lines=1) if [ "$lab" == "" ]; then lab=$y fi plot="$plot \"$1\" u $x:$y w $style t \"$lab\"," done plot=$(echo $plot | sed -e "s/,//$(echo $toplot | wc -w)") command="$command; $plot; exit" gnuplot="/usr/bin/gnuplot" $gnuplot --persist -e "$command"