Probleme avec sed

Résolu
bonjour

je souhaite a l'aide d'un script shell supprimer les ligne blanche situé en fin de fichier , jutilise pour cela
sed -i -e :a -e '/^[ |\n|\t]*$/ {$d;N;ba' -e '}'
mais ça marche pas , quelqu'un aurait il une idée??

merci d'avance
Configuration: Linux kubuntu 
Firefox 2.0.0.6

16 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Le fichier en question est un fichier Unix ou Windows ? (en rapport aux fins de ligne différentes sur les 2 systèmes)

    Peux-tu le mettre en copie sur Cjoint s'il te plait si ce n'est pas du domaine du confidentiel ;-))
    1. bonjur,
      le fichier en question à traiter est effectivement un fichier créé sous windows, plus précisément sous le bloc-note de windows
      et effectivement c'est du code confidentiel
      merci de ton aide
      1. Modérateur
        Essaie ça alors :
        sed -e :a -e '/^\r\n*$/ {$d;N;ba' -e '}'
        ;-))
        1. Modérateur
          Que t'affiches la commandes "cat -A ton_fichier_DOS" comme caractères de fin de ligne et de lignes vides ?

          Des "^M$" ???
          1. Modérateur
            Salut,

            affiche le résultat de
            perl -ne 's/(.)/ord($1)/eg;print' ton_fichier
            --
            lami20j
            1. Modérateur
              Ben chez moi la commande marche bien ;-\
              1. Modérateur
                Salut,

                des fois c'est vraiment bizarre, c'est pour ça que je prefère la conversion en ASCII, au moins on peut voir exactement ce qu'on doit supprimer ou ajouter à la fin ;-)
            2. les retour a la ligne on pour symbole 13
              pour la fin du fichier j'ai :
              424713
              13
              13
              13
              13
              
              1. ecxelent , ça fonctionne avec sed -i -e 's/\x0D$//' fichier_à_modifier