2010-11-19 20 views
1

Gnuplot ile veri okurken birden fazla boru kullanmak için bir yöntem var mı? Aşağıdakiler doğrudan SQL deyiminden alınan verileri çizecektir. İsterdim NeGnuplot girişi için çoklu borular

plot "< sqlite3 tomato-rstats.db \"SELECT data FROM table;\""

o gnuplot'a ulaşmadan önce bu verileri işlenmesidir. SQL verilerini komut dosyası aracılığıyla bir ara dosyaya gönderebileceğimi ve bu dosyayı çizebileceğimi biliyorum, ancak temp dosyasını atlamayı tercih ediyorum. Aşağıdakilerin satırlarında bir şey hayal ettim, ama açıkça doğru sözdizimi değil.

plot "< sqlite3 tomato-rstats.db \"SELECT data FROM table;\" | process.pl"

veya

plot "< process.pl < sqlite3 tomato-rstats.db \"SELECT data FROM table;\""

bu diğer bazı sözdizimi yoluyla mümkün mü?

+0

Bu site sorunuza cevap veriyor mu? Http://t16web.lanl.gov/Kawano/gnuplot/datafile3-e.html – Tom

cevap

2

sen gnuplot içinde gayet eserler önerdiği gibi

plot "< sqlite3 tomato-rstats.db \"SELECT data FROM table;\" | process.pl" 

kullanma. Eğer file.txt beşinci satırda, örneğin gnuplot için bir giriş olarak

plot "< cat file.txt | cut -f 5 | head -n 100" w l 

araziler ilk 100 ürün borulu komutlardan herhangi bir kombinasyonunu kullanabilir. Çizelgelemenin bir girdi olarak kullanılması, bu işlemin gnuplot'un içinden yapılabildiğinden, ancak UNIX komut satırını ve ön işleme girişi için borularını kullanma olasılıklarını gösterdiğine dikkat edilmelidir.

Bu, Windows gibi UNIX olmayan sistemlerde çalışmaz demek değildir.

+0

İnanılmaz, daha önce denediğim zaman sözdizimini bozmak zorundayım. Bunu işaretlediğiniz için teşekkürler ve tekrar denememi sağlayın. – fracai