Gnuplot + скрипт bash - PullRequest
       15

Gnuplot + скрипт bash

1 голос
/ 29 декабря 2011

У меня есть некоторые проблемы со следующим:

Я хотел бы построить много файлов данных, и я нашел более или менее хороший скрипт для этого

#! /bin/bash
ls *.data | sed "s/.data//" > list
for i in `cat list` ; do
   sed -e "s/INPUTFILE/$i/" -e "s/OUTPUTFILE/$i/" \
    plot.gnu | gnuplot
done
rm list

plot.gnu

set term postscript enhanced color
set output 'OUTPUTFILE.eps'
set title 'OUTPUTFILE'
p 'INPUTFILE.data' u 1:2 w l

Но у меня есть проблема с этой частью

for i in `cat list` ; do
       sed -e "s/INPUTFILE/$i/" -e "s/OUTPUTFILE/$i/" \
        plot.gnu | gnuplot
    done

, так как он не может обновить файл plot.gnu, как это должно быть ... Эта команда sed не работает должным образом ...

Может кто-нибудь помочь мне решить эту проблему?Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 29 декабря 2011

Давайте попробуем

for i in `cat list` ; do
   cat plot.gnu | sed "s/\(INPUTFILE\|OUTPUTFILE\)/$i/g" | gnuplot
done

Приветствия

1 голос
/ 29 декабря 2011

Использование here-document делает код еще более понятным.

#!/bin/bash
for i in `cat list`
do
    gnuplot <<_EOF_
    set term postscript enhanced color
    set output '$i.eps'
    set title '$i'
    p '$i.data' u 1:2 w l
_EOF_
done
...