Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.graphics.apps.gnuplot > #4549 > unrolled thread
| Started by | Jörg Buchholz <bookwood4new@freenet.de> |
|---|---|
| First post | 2023-11-07 10:24 +0100 |
| Last post | 2023-11-08 07:27 +0100 |
| Articles | 4 — 3 participants |
Back to article view | Back to comp.graphics.apps.gnuplot
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
| From | Jörg Buchholz <bookwood4new@freenet.de> |
|---|---|
| Date | 2023-11-07 10:24 +0100 |
| Subject | command 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]
| From | Chris Elvidge <chris@mshome.net> |
|---|---|
| Date | 2023-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]
| From | Hans-Bernhard Bröker <HBBroeker@gmail.com> |
|---|---|
| Date | 2023-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]
| From | Jörg Buchholz <bookwood4new@freenet.de> |
|---|---|
| Date | 2023-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