Message d err: function sed cannot be parsed

Bonjour,

j'ai mis une fonction sed dans un shell
ls -1 |sed 's/^r//g'

quand je tape ces instructions directement sur le repertoire ca fonctionne.
quand je le mets dans mon shell j'ai un message d'erreur :function set cannot be parsed
Je suis sur AIX

quelqu 'un aurait- il une petite idee ? merci de votre aide

6 réponses

  1. Ok merci ca marche sur le repertoire, maintenant je vais integrer la boucle dans mon shell
    en tout cas un grand merci , je commencais sà tresser un peu avec ce message d'erreur
    1. oui mais l'option -v n'existe pas sur AIX, ce que je comprends la commande marche bien elle m'enleve bien les r devant.*Alors dans le shell ca fonctionne pas
      1. Modérateur
        Le -v c'est juste pour voir à l'écran. Tu peux l'enlever.
        Toutefois je te conseille de faire le test sur des fichiers bidon.
    2. Modérateur
      En ce cas c'est mieux d'utiliser mv

      Un exemple

      lami20j@debian-acer:~$ ls r*.fichier 
      r10.fichier  r.1.fichier  r22.fichier  r.fichier  rplop.fichier 
      lami20j@debian-acer:~$ for f in r*.fichier;do echo mv -v $f ${f#r};done 
      mv -v r10.fichier 10.fichier 
      mv -v r.1.fichier .1.fichier 
      mv -v r22.fichier 22.fichier 
      mv -v r.fichier .fichier 
      mv -v rplop.fichier plop.fichier 
      lami20j@debian-acer:~$ for f in r*.fichier;do mv -v $f ${f#r};done 
      'r10.fichier' -> '10.fichier' 
      'r.1.fichier' -> '.1.fichier' 
      'r22.fichier' -> '22.fichier' 
      'r.fichier' -> '.fichier' 
      'rplop.fichier' -> 'plop.fichier' 
      lami20j@debian-acer:~$ ls *.fichier 
      10.fichier  22.fichier  plop.fichier 
      lami20j@debian-acer:~$ 

      Le fichier .1.fichier est un fichier caché, donc peut être tu as aussi besoin de le supprimer

      lami20j
      1. Non je veux supprimer le r qui est au debut de chaque noms des fichiers
        dans mon repertoire j ai
        r22.fichier
        r.1.fichier
        r10.fichier

        j'enleve juste le r devant chaque nom de fichier
        1. Bonjour
          apres mes declarations de variables
          je mis
          ls -1 | sed 's/^r //g' ${rep}/r*.fichier

          ${rep} atant ma variable qui contient le chemin de mon repertoire
          r.*fichier : mes fichiers qui sont dans le repertoire;

          merci
          1. Modérateur
            Si je comprends bien tu veux supprimer le caractère CarriageReturn à la fin de chaque ligne des fichiers qui commencent avec r et ont l'extension fichier.
            C'est bien ça que tu veux?
        2. Modérateur
          Salut,

          Montre nous comment tu as mis cette ligne dans ton script.