Chgt de version d'unix : probleme en ksh

ema -  
asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   -
bonjour,
nous venons de changer de version d'unix : passage de digital unix version 4 à la version 5.1.
Depuis, il y a des problemes dans les scripts ksh.
Je voudrais savoir pourquoi avant ceci fonctionnait :
cat /tmp/titi| grep -v SESSION | grep -v - > /tmp/titi

c'est un tri d'un fichier (suppression des mot session et des tiret "-") que je renvoie dans ce meme fichier.
Maintenant, je suis obligé de le renvoyer dans un autre fichier, sinon, celui-ci se vide.
cat /tmp/titi | grep -v SESSION | grep -v - > /tmp/toto

merci d'avance.

2 réponses

  1. ema
     
    désolé, j'avais oublié d'inscrire mon email.
    0
  2. asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
     
    Salut,
    La veritable question, c'est pourquoi ça marchais avant :o)
    En effet
     cat /tmp/titi| grep -v SESSION | grep -v - > /tmp/titi

    n'aurait jamais du marcher....
    Les operateurs de redirection de sortie ( ">" ici) sont normalement interprétés en premier lieu.
    La commande commence donc par créer un fichier vide /tmp/titi et ensuite execute cat /tmp/titi | grep...
    Il ne faut jamais faire des trucs du genre
    grep "stuff" fic1 >fic1

    il est preferable de faire
    grep "stuff" fic1 > tmp
    mv tmp fic1

    ou mieux, d'utiliser awk ou sed :)

    voii voilou!
    @++

    "Si c'est stupide et que ça marche,
            alors ce n'est pas stupide"
    0