##@cooked comments # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 ## Fonctions de base: protection de valeurs chaine ##@cooked nocomments uprovide base.quote urequire base.core function _qawk() { # Dans la chaine $*, remplacer \ par \\ et " par \". Ceci est utile pour quoter # des valeur à insérer dans un script awk local s="$*" s="${s//\\/\\\\}" s="${s//\"/\\\"}" s="${s// /\\n}" recho_ "$s" } function qawk() { # Dans la chaine $*, remplacer \ par \\ et " par \" et afficher la chaine # entourée de guillemets. Ceci est utile pour quoter des valeur à insérer dans # un script awk echo -n \" _qawk "$@" echo \" } function qseds() { # Quoter la chaine $*, qui doit être utilisée comme chaine de recherche ou de # remplacement de grep, sed ou awk local s="$*" s="${s//\\/\\\\}" s="${s//\//\\/}" s="${s// /\\n}" recho "$s" } function _qform() { # Dans la chaine $*, remplacer '%' par '%25', '+' par '%2B', '&' par '%26', '=' # par '%3D', ' ' par '+' local s="$*" s="${s//\%/%25}" s="${s//+/%2B}" s="${s//&/%26}" s="${s//=/%3D}" s="${s// /+}" recho_ "$s" } function qform() { # Dans la chaine $* qui est de la forme "name=value", remplacer dans name et # dans value '%' par '%25', '+' par '%2B', '&' par '%26', '=' par '%3D', ' ' par # '+' local s="$*" if [[ "$s" == *=* ]]; then _qform "${s%%=*}" echo -n = _qform "${s#*=}" echo else _qform "$s" echo fi } function _qsql() { # Dans la chaine $*, remplacer ' par ''. Ceci est utile pour quoter une valeur à # insérer dans une chaine d'une requête SQL. local q="'" qq="''" echo "${*//$q/$qq}" } function qsql() { # Dans la chaine $*, remplacer ' par '' et afficher la chaine entourée de # quotes. Ceci est utile pour quoter des valeurs à insérer dans une requête SQL. local q="'" qq="''" echo "'${*//$q/$qq}'" }