Search code examples
linuxbashvariablesgnuplot

Is using a gnuplot variable in an external datafile manipulation command possible?


Using an external datafile manipulation cmd in gnuplot looks like

plot '<(grep "1" "/path/datafile")' using 1:2 ...

Can we use a gnuplot variable in such a cmd like in

plot for [i=1:5] '<(grep "i" "/path/datafile")' using 1:2 ...

where "i" should be the gnuplot variable i.

Is it possible to hand over the gnuplot variable to the external command and how? Thx!


Solution

  • You can build a string command using the concatenation operator ".". Eg

    plot for [i=1:5] "<(grep '".i."' /path/datafile)" using 1:2 ...
    

    You might want to grep for something less ambiguous than single digits like 1 that are likely to match within any number. For example, add word delimiters like \b, or even just a leading space. This is why I added the single quoting of the value as a preliminary step (we are generating grep '1' ...).