Toon posts:

[bash] tekens in variabele vervangen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik gebruik shell-script om invoer van een formulier te controleren.
Nu wil ik dat bijvoorbeeld enkele quotes ( ' ) in een string vervangen worden door \', zodat de string in een query gebruikt kan worden.
Veelvuldig heb ik gezocht op Got en google, maar het enige wat ik kan vinden is hoe je bepaalde patronen in een tekstbestand kan vinden en vervangen.

Hieronder een korte schets van wat ik wil
naam=" met komma's " # variabele
commando # quotes in variabele naam vervangen door /'

variabele "naam" moet na het uitvoeren van het commando dus veranderd zijn in:
met komma\'s

Met welk commando oid kan ik dit bereiken?

[ Voor 7% gewijzigd door Verwijderd op 13-10-2003 19:05 ]


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

${varnaam//\'/\\\'}

All my posts are provided as-is. They come with NO WARRANTY at all.


  • Kees
  • Registratie: Juni 1999
  • Laatst online: 11:24

Kees

Serveradmin / BOFH / DoC
of met sed
code:
1
variable=`echo $naam | sed 's/\'/\\\'/'`

untested ;)

[ Voor 11% gewijzigd door Kees op 13-10-2003 19:31 ]

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Kees schreef op 13 oktober 2003 @ 19:31:
of met sed
code:
1
variable=`echo $naam | sed 's/\'/\\\'/'`

untested ;)
overhead van 2 processen + pipe.. nahh ;)

All my posts are provided as-is. They come with NO WARRANTY at all.


Verwijderd

Topicstarter
_/-\o_
Dat was precies wat ik zocht, bedankt.
Zou je ook uit willen leggen wat wat precies doet, zodat ik het de volgende keer zelf kan :)

[ Voor 25% gewijzigd door Verwijderd op 13-10-2003 20:09 ]


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Verwijderd schreef op 13 October 2003 @ 20:00:
[...]

_/-\o_
Dat was precies wat ik zocht, bedankt.
Zou je ook uit willen leggen wat wat precies doet, zodat ik het de volgende keer zelf kan :)
*steekt tong uit naar keesch*

Variable substitution :) Vervangt gewoon alles na de // door alles na de /
Je heb ook ${foo/bar/moof}, dat vervangt de 1e instantie van bar door moof in de variable $foo.

Er zijn nog een aantal van dit soort substitutions. In 'man bash' staan ze wel ergens uitgelegd :)

All my posts are provided as-is. They come with NO WARRANTY at all.


  • A_L
  • Registratie: Juni 2001
  • Niet online

A_L

CyBeR schreef op 13 oktober 2003 @ 20:30:
... In 'man bash' staan ze wel ergens uitgelegd
In de LinuxGazette 55 staat het ook simpel uitgelegt.

Voor het komplete bash-naslagwerk is abs-guide aan te raden ipv google ;).
Pagina: 1