• # En Bash ou Ksh

    Posté par (site web personnel) . En réponse au message disponibilité outil trim pour le shell. Évalué à 1.

    Comme on a pas toujours tout d'installer sur une machine...

    Voici 3 petites fonctions à utiliser :

    ltrim() {
     __ltrim="${@}"
     while [ "x${__ltrim:0:1}" = "x " -o "x${__ltrim:0:1}" = "x " -o "x${__ltrim:0:1}" = "x\n" -o "x${__ltrim:0:1}" = "x\r" -o "x${__ltrim:0:1}" = 'x
    ' ]; do
     __ltrim="${__ltrim:1}"
     done
     export __ltrim
     return ${TRUE}
    }
    rtrim() {
     __rtrim="${@}"
     while [ "x${__rtrim: -1}" = "x " -o "x${__rtrim: -1}" = "x " -o "x${__rtrim: -1}" = "x\n" -o "x${__rtrim: -1}" = "x\r" -o "x${__rtrim: -1}" = 'x
    ' ]; do
     let __=${#__rtrim}-1
     __rtrim="${__rtrim:0:$__}"
     done
     export __rtrim
     return ${TRUE}
    }
    trim() {
     __trim="${@}"
     ltrim "${@}"
     rtrim "${__ltrim}"
     __trim="${__rtrim}"
     unset __ltrim
     unset __rtrim
     export __trim
     return ${TRUE}
    }
    

    Comme ça pas de binaires exotiques...

    Et si t'es plus volontaire (mais juste en bash) Qui peut facilement se remplacer dans les fonctions ci dessus:

    ltrimv2() {
     ltrim "${!1}"
     export ${1}="${__ltrim}"
    }
    rtrimv2() {
     rtrim "${!1}"
     export ${1}="${__rtrim}"
    }
    

    Si ça t'interresse j'ai quelques fonctions plus ou moins utiles là : http://code.flyou.net/dev/unstable/F01common.lib/