Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.graphics.apps.gnuplot > #4549 > unrolled thread

command from inside gnuplot

Started byJörg Buchholz <bookwood4new@freenet.de>
First post2023-11-07 10:24 +0100
Last post2023-11-08 07:27 +0100
Articles 4 — 3 participants

Back to article view | Back to comp.graphics.apps.gnuplot


Contents

  command from inside gnuplot Jörg Buchholz <bookwood4new@freenet.de> - 2023-11-07 10:24 +0100
    Re: command from inside gnuplot Chris Elvidge <chris@mshome.net> - 2023-11-07 10:16 +0000
    Re: command from inside gnuplot Hans-Bernhard Bröker <HBBroeker@gmail.com> - 2023-11-07 18:52 +0100
      Re: command from inside gnuplot Jörg Buchholz <bookwood4new@freenet.de> - 2023-11-08 07:27 +0100

#4549 — command from inside gnuplot

FromJörg Buchholz <bookwood4new@freenet.de>
Date2023-11-07 10:24 +0100
Subjectcommand from inside gnuplot
Message-ID<uicvon$uk3l$1@dont-email.me>
Hi,

i have a problem to use a system command from inside gnuplot.

sed -i 's/^\xef\xbb\xbf//' ./process-2023-11-02-13-04-40.csv

works at the terminal


system "sed -i 's/^\xef\xbb\xbf//' ./process-2023-11-02-13-04-40.csv"
and
system(sprintf("sed -i 's/^\xef\xbb\xbf//' 
./process-2023-11-02-13-04-40.csv"))

in a gnuplot script do not work, but gnuplot shows me

GPVAL_SYSTEM_ERRNO = 0
GPVAL_SYSTEM_ERRMSG = "Success"


as a test I try

system "cp ./process-2023-11-02-13-04-40.csv 
./process-2023-11-02-13-04-40.test"

this works, the file process-2023-11-02-13-04-40.test was created.


what's wrong?

Jörg

[toc] | [next] | [standalone]


#4550

FromChris Elvidge <chris@mshome.net>
Date2023-11-07 10:16 +0000
Message-ID<uid2ps$v585$1@dont-email.me>
In reply to#4549
On 07/11/2023 09:24, Jörg Buchholz wrote:
> Hi,
> 
> i have a problem to use a system command from inside gnuplot.
> 
> sed -i 's/^\xef\xbb\xbf//' ./process-2023-11-02-13-04-40.csv
> 
> works at the terminal
> 
> 
> system "sed -i 's/^\xef\xbb\xbf//' ./process-2023-11-02-13-04-40.csv"
> and
> system(sprintf("sed -i 's/^\xef\xbb\xbf//' 
> ./process-2023-11-02-13-04-40.csv"))

Shouldn't that be just:
system("sed -i 's/^\xef\xbb\xbf//' ./process-2023-11-02-13-04-40.csv")
After all, sprintf isn't a system command and you're not expecting any 
output.

> 
> in a gnuplot script do not work, but gnuplot shows me
> 
> GPVAL_SYSTEM_ERRNO = 0
> GPVAL_SYSTEM_ERRMSG = "Success"
> 
> 
> as a test I try
> 
> system "cp ./process-2023-11-02-13-04-40.csv 
> ./process-2023-11-02-13-04-40.test"
> 
> this works, the file process-2023-11-02-13-04-40.test was created.
> 
> 
> what's wrong?
> 
> Jörg



-- 
Chris Elvidge, England
RUDOLPH'S RED NOSE IS NOT ALCOHOL-RELATED

[toc] | [prev] | [next] | [standalone]


#4551

FromHans-Bernhard Bröker <HBBroeker@gmail.com>
Date2023-11-07 18:52 +0100
Message-ID<kqvbqhF5gsmU1@mid.dfncis.de>
In reply to#4549
Am 07.11.2023 um 10:24 schrieb Jörg Buchholz:
> Hi,
> 
> i have a problem to use a system command from inside gnuplot.
> 
> sed -i 's/^\xef\xbb\xbf//' ./process-2023-11-02-13-04-40.csv
> 
> works at the terminal
> 
> 
> system "sed -i 's/^\xef\xbb\xbf//' ./process-2023-11-02-13-04-40.csv"
> and
> system(sprintf("sed -i 's/^\xef\xbb\xbf//' 
> ./process-2023-11-02-13-04-40.csv"))

Unfortunately this suffers from a lack of escaping.  Please note that 
"strings in double quotes" go through some pre-processing in gnuplot, 
including backslash escape substitution done to them before being used. 
So if you want literal backslashes, they have to be escaped. See "help 
quote" for the details.

What that means is that

system "sed -i 's/^\\xef\\xbb\\xbf//' ./process-2023-11-02-13-04-40.csv"

should work better.

[toc] | [prev] | [next] | [standalone]


#4552

FromJörg Buchholz <bookwood4new@freenet.de>
Date2023-11-08 07:27 +0100
Message-ID<uif9o5$1fopo$1@dont-email.me>
In reply to#4551
On 07.11.23 18:52, Hans-Bernhard Bröker wrote:
> Am 07.11.2023 um 10:24 schrieb Jörg Buchholz:
>> Hi,
>>
>> i have a problem to use a system command from inside gnuplot.
>>
>> sed -i 's/^\xef\xbb\xbf//' ./process-2023-11-02-13-04-40.csv
>>
>> works at the terminal
>>
>>
>> system "sed -i 's/^\xef\xbb\xbf//' ./process-2023-11-02-13-04-40.csv"
>> and
>> system(sprintf("sed -i 's/^\xef\xbb\xbf//' 
>> ./process-2023-11-02-13-04-40.csv"))
> 
> Unfortunately this suffers from a lack of escaping.  Please note that 
> "strings in double quotes" go through some pre-processing in gnuplot, 
> including backslash escape substitution done to them before being used. 
> So if you want literal backslashes, they have to be escaped. See "help 
> quote" for the details.
> 
> What that means is that
> 
> system "sed -i 's/^\\xef\\xbb\\xbf//' ./process-2023-11-02-13-04-40.csv"
> 
> should work better.
> 
That's it. Thanks a lot. I was nearby, but use the wrong slash to 
escaped backslashes.

Jörg

[toc] | [prev] | [standalone]


Back to top | Article view | comp.graphics.apps.gnuplot


csiph-web