emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Eric Schulte" <schulte.eric@gmail.com>
To: "Sébastien Vauban" <wxhgmqzgwmuf@spammotel.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: [babel] Sh problem when echo'ing input data with ' inside
Date: Mon, 17 Jan 2011 09:24:28 -0700	[thread overview]
Message-ID: <87tyh7jy6b.fsf@gmail.com> (raw)
In-Reply-To: <80k4i3vgzo.fsf@missioncriticalit.com> ("Sébastien Vauban"'s message of "Mon, 17 Jan 2011 13:42:35 +0100")

Hi Seb,

I can't reproduce this problem, on my system, I get the following
correct behavior

#+results: excel-from-bank
#+begin_example
Num.ro du compte :;979-9500975-24;Compte Maxi
Date valeur;R.f.rence de l'op.ration;Description;Montant de l'op.ration;Devise;Date d'op.ration;Compte de contrepartie;Nom de la contrepartie :;Communication 1 :;Communication 2 :
04-06-2009;A9F04NT01WK300TG;Virem. internet;420,00;EUR;04-06-2009;799-5900947-23;PAYEE ONE; ; 
24-02-2009;A9B24NT012K4018Z;Virem. internet;-54,93;EUR;24-02-2009;799-9974005-30;ME;Eigen rekening; 
18-05-2008;A8E19NT000S604QI;Virem. internet;-1.000,00;EUR;19-05-2008;799-8068445-18;PAYEE TWO; ; 
#+end_example

#+begin_src sh :var data=excel-from-bank :results output
echo "$data"
#+end_src

#+results:
: Num.ro du compte :;979-9500975-24;Compte Maxi
: Date valeur;R.f.rence de l'op.ration;Description;Montant de l'op.ration;Devise;Date d'op.ration;Compte de contrepartie;Nom de la contrepartie :;Communication 1 :;Communication 2 :
: 04-06-2009;A9F04NT01WK300TG;Virem. internet;420,00;EUR;04-06-2009;799-5900947-23;PAYEE ONE; ; 
: 24-02-2009;A9B24NT012K4018Z;Virem. internet;-54,93;EUR;24-02-2009;799-9974005-30;ME;Eigen rekening; 
: 18-05-2008;A8E19NT000S604QI;Virem. internet;-1.000,00;EUR;19-05-2008;799-8068445-18;PAYEE TWO; ;

and the sh code block expands to the following (with C-c C-v v) which is
not affected by commas...

#+begin_src sh
  data=$(cat <<BABEL_STRING
  Num.ro du compte :;979-9500975-24;Compte Maxi
  Date valeur;R.f.rence de l'op.ration;Description;Montant de l'op.ration;Devise;Date d'op.ration;Compte de contrepartie;Nom de la contrepartie :;Communication 1 :;Communication 2 :
  04-06-2009;A9F04NT01WK300TG;Virem. internet;420,00;EUR;04-06-2009;799-5900947-23;PAYEE ONE; ; 
  24-02-2009;A9B24NT012K4018Z;Virem. internet;-54,93;EUR;24-02-2009;799-9974005-30;ME;Eigen rekening; 
  18-05-2008;A8E19NT000S604QI;Virem. internet;-1.000,00;EUR;19-05-2008;799-8068445-18;PAYEE TWO; ;
  BABEL_STRING
  )
  echo "$data"
#+end_src

Are you on a windows machine?  I'm not sure what else could be different
about the shell environment on our machines.

Cheers -- Eric

note: some of the characters in your email weren't printable when I
tried to send this with gnus, so they've been replaced with "."s

Sébastien Vauban <wxhgmqzgwmuf@spammotel.com> writes:

> Hi,
>
> I tried to work on a CSV2Ledger, accepting the particular (European) CSV
> format of my bank:
>
> * Data
>
> #+results: excel-from-bank
> #+begin_example
> Num.ro du compte :;979-9500975-24;Compte Maxi
> Date valeur;R.f.rence de l'op.ration;Description;Montant de l'op.ration;Devise;Date d'op.ration;Compte de contrepartie;Nom de la contrepartie :;Communication 1 :;Communication 2 :
> 04-06-2009;A9F04NT01WK300TG;Virem. internet;420,00;EUR;04-06-2009;799-5900947-23;PAYEE ONE; ; 
> 24-02-2009;A9B24NT012K4018Z;Virem. internet;-54,93;EUR;24-02-2009;799-9974005-30;ME;Eigen rekening; 
> 18-05-2008;A8E19NT000S604QI;Virem. internet;-1.000,00;EUR;19-05-2008;799-8068445-18;PAYEE TWO; ; 
> #+end_example
>
> * "Europeanize" the CSV file
>
> Here, we have to make several manipulations on the input file, such as:
> - remove dots from amounts
> - replace commas from amounts by dots
> - replace semi-commas by commas
> - etc.
>
> My goal is to make that as a suite of bash commands (=echo | cmd 1 | cmd 2=),
> tangled in a script file.
>
> However, I can't do any work on the input file, the very basic echo command
> already giving an error:
>
> #+begin_src sh :var data=excel-from-bank :results output
> echo "$data"
> #+end_src
>
> #+results:
> Code block produced no output.
>
> #+begin_src stderr
> sh: line 3: unexpected EOF while looking for matching `''
> sh: line 10: syntax error: unexpected end of file
> #+end_src
>
> In this sample, this is due to the apostrophe in the header line ("Montant de
> l'opération").
>
> Any idea on how to:
> - circumvent such problem?
> - or, eventually, do this better?
>
> Best regards,
>   Seb

  reply	other threads:[~2011-01-17 16:24 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-17 12:42 [babel] Sh problem when echo'ing input data with ' inside Sébastien Vauban
2011-01-17 16:24 ` Eric Schulte [this message]
2011-01-17 19:29   ` Sébastien Vauban
2011-01-17 19:54     ` Eric Schulte
2011-01-17 22:49       ` Sébastien Vauban
2011-01-17 20:00 ` Achim Gratz
2011-01-17 20:29   ` Eric Schulte
2011-01-17 21:36   ` Achim Gratz
2011-01-17 22:39     ` Sébastien Vauban
2011-01-17 22:51       ` Achim Gratz
2011-01-18  7:02         ` Sébastien Vauban
2011-01-18  9:22       ` Sébastien Vauban
2011-01-18 16:24         ` Eric Schulte
2011-01-18 17:31           ` Sébastien Vauban
2011-01-18 18:23         ` Achim Gratz
2011-01-20 19:17         ` Achim Gratz
2011-01-20 22:12           ` Sébastien Vauban

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87tyh7jy6b.fsf@gmail.com \
    --to=schulte.eric@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=wxhgmqzgwmuf@spammotel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).