2011-12-29 4 views
0

Я просто интересно, как я должен использовать предыдущий отправил сценарий (см this вопрос) в построении много файлов в то же время, то есть какой-то Multiplot случаев ...Gnuplot + Баш скрипт - версия 2

Я хотел бы заменить это лучший друг, который знает этот Multiplot свойство:

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

plot.gnu почти такой же, как и раньше, но мы должны изменить его надлежащим образом каким-то образом с учетом требование к мультиплекту:

set term postscript enhanced color 
set output 'OUTPUTFILE.eps' 
set title 'OUTPUTFILE' 

set multiplot layout 2,2 
p 'INPUTFILE-1.data' u 1:2 w l 
p 'INPUTFILE-2.data' u 1:2 w l 
p 'INPUTFILE-3.data' u 1:2 w l 
p 'INPUTFILE-4.data' u 1:2 w l 
unset multiplot 

Файл data.list содержит 4 разных файла, поэтому их необходимо заменить INPUTFILE-1.data, INPUTFILE-2.data, ... и, наконец, получить один сюжет.

Может ли кто-нибудь предложить мне более или менее хороший алгоритм или что-то для этого?

+0

Как вы называете это «свойство мультипликации»? – fge

+0

Множество - это просто много сюжетов после eachother: p 'INPUTFILE-1.data' u 1: 2 wl и p 'INPUTFILE-2.data' u 1: 2 wl, ... и т. Д. Главное, что мне как-то нужно замените все INPUTFILE-1, INPUTFILE-2, ... одновременно – user1116360

+0

Извините, я до сих пор не понимаю. Как линия 'set multipot' влияет на следующие строки? – fge

ответ

0
n=0 
substitutions= 
for i in $(<data.list) 
do substitutions+="s:\(INPUTFILE-$((++n))\|OUTPUTFILE\):$i:;" 
done 
<plot.gnu sed "$substitutions" | gnuplot 

Обратите внимание, что вывод и название будут называться после первого входного файла.

Смежные вопросы