10.1. gnuplot와 shell script의 연동

여기 2차원 데이터로 이루어진 몇 개의 실험데이터 파일이 있다. 파일의 이름은 모두 날짜별로 되어있고 약간의 설명이 들어가 있다.

$ ls
Fe011102.dat     Al011102.dat     FeAl011102.dat     Cr012502.dat

다음과 같은 script로 쉽게 각 데이터 파일의 그래프를 그려볼 수 있을 것이다. 아주 간단한 파일이지만 생각보단 일을 훨씬 간편하게 해준다. Bash shell의 file extension 기능을 사용한 것을 잘 살펴보기 바란다.

#!/bin/bash
# Very Simple Script for Plotting 2-D data
for i in *
do

touch ${i%.dat}.plot
echo set title "${i%.dat}" >> ${i%.dat}.plot
echo set term post >> ${i%.dat}.plot
echo set output \"${i%.dat}.eps\" >> ${i%.dat}.plot
echo set xlabel \"xlabel\" >> ${i%.dat}.plot
echo set ylabel \"ylabel\" >> ${i%.dat}.plot
echo plot \"${i%.dat}.dat\" with l >> ${i%.dat}.plot

echo Making a .plot for ${i%.dat}.dat file..

gnuplot ${i%.dat}.plot

echo Converting eps file to jpg file..

convert -rotate 90 ${i%.dat}.eps ${i%.dat}.jpg
done

mkdir jpg
mkdir eps
mv *.jpg jpg
mv *.eps eps