[Shell ksh] Retirer premier caractère

Résolu
Bonjour,
j'aimerai pouvoir retirer le signe # d'une chaine si il est présent.

Par exemple :
#abcd
#efgh
#ijkl
mnop

Résultat attendu :
abcd
efgh
ijkl
mnop

Merci d'avance
^^

Ps: je précise que je travaille en ksh
Configuration: Windows XP
Firefox 2.0.0.14

3 réponses

  1. Modérateur
    Salut,
    jp@MDK:~/tmpfs ssh$ cat plop
    #abcd
    #efgh
    #ijkl
    mnop
    jp@MDK:~/tmpfs ssh$ sed 's/^#//' plop
    abcd
    efgh
    ijkl
    mnop
    jp@MDK:~/tmpfs ssh$
    ;-))
    1
    1. C'est impeccable jipicy merci bien comme d'habitude.
      0
    2. Bonjour JOB,

      puis comment je peux mettre le résultat en dessous dans une variable (résultat 20)

      line4="Salut 20"

      echo ${line4} | sed 's/.\{6\}//'
      0
    3. Contributeur
      @wafiflichaSalut,

      man bash (expansion des paramètres)

      $ line4="Salut 20" 

      $ echo "${line4:6}"
      20

      $ echo "${line4: -2}"
      20
      0
    4. Salut, je te remercie sur ton retour;

      j'ai essayé le code suivant mes ça n'a pas fonctonné :

      FIS="COUNT(*) ---------- 71"

      if [[ ${FIS} | sed 's/.\{20\}//' == "71" ]]
      then
      echo "okey"

      exit 1

      else
      echo "not okey"
      exit 2
      fi
      0
    5. @wafiflichadonc, on te montre comment faire, tu fais n'importe quoi d'autre (vraiment n'importe quoi : des pâtes pas cuites avec du pesto 8O), et tu te plains que "ça marche pas!" ?

      et puis, quand la question change, on change de sujet, et donc on ouvre un nouveau sujet.
      0
  2. Pour commencer j'arrive à récupérer tout sauf le premier caractère avec :

    $$ line4="heeeeeeeeeeeeeeeeeeee"
    $$ echo ${line4} | sed 's/.\{1\}//'
    $$ eeeeeeeeeeeeeeeeeeee

    Mais je n'arrive pas à récupérer le h.
    ^^
    0
    1. Modérateur
      $ echo ${line4} | sed -n 's/\(.\).*/\1/p'
      h
      0
      1. Mais ça marche très bien aussi. Ta première solution est encore plus simple pour mon problème. J'allais cherché trop compliqué ou plutôt trop long.

        Merci encore
        A++
        0