Problème de syntaxe Expr et expression.

BONJOUR
Voici, mon problème dans une variable j'ai ceci
ligne=;;;;0;salut\;toi.txt

je fais un expr avec cette expression
ligne2=`expr "$ligne" : '^;*[0-9]+;\(.*\)'`

mon but est de recupere salut\;toi.txt
celà marche mais celà affiche une erreur "

expr: warning: unportable BRE: `^;*[0-9]+;\(.*\)': using `^' as the first charac
er
et ensuite pour la ligne suivante se ne marche plus du tout
ligne=4096;ind\;ex.php3


merci

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,

    Essaie comme ça :
    ligne2=`expr "$ligne" : ".*[0-9];\(.*\)"`
    ;-))
    1. Modérateur
      J'avais z'oublié l'exemple ;-))
      [jp@Mandrake tmpfs]$ ligne=";;;;0;salut\;toi.txt"
      [jp@Mandrake tmpfs]$ echo $ligne
      ;;;;0;salut\;toi.txt
      [jp@Mandrake tmpfs]$ ligne2=`expr "$ligne" : ".*[0-9];\(.*\)"`
      [jp@Mandrake tmpfs]$ echo $ligne2
      salut\;toi.txt
      [jp@Mandrake tmpfs]$ ligne="4096;ind\;ex.php3"
      [jp@Mandrake tmpfs]$ echo $ligne
      4096;ind\;ex.php3
      [jp@Mandrake tmpfs]$ ligne2=`expr "$ligne" : ".*[0-9];\(.*\)"`
      [jp@Mandrake tmpfs]$ echo $ligne2
      ind\;ex.php3
      [jp@Mandrake tmpfs]$
      
      au cas z'ou il en faudrait un ;-))
      1. merci tu as trop geré ça marche merci c'est les " " autour de l'expression parce que j'avais utilisé le meme mais entre ' ' et sa n'avait pa marché

        merci