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. Modérateur
    Salut,

    Montre nous comment tu as mis cette ligne dans ton script.
    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. 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. 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. 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. 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