Suppression de fichiers contenant '|P\n'

Résolu
Am4ZinG -  
 Am4ZinG -
Bonjour,

Je suis actuellement entrain de perdre mes neurones sur une commande linux que j'essaie de passer.

Dans un répertoire contenant une série de fichiers texte.

J'essaie de supprimer les fichiers contenant '|P' en fin de ligne.

J'ai essayé : find -type f -exec grep -q '\|P\n' '{}' \; -exec rm '{}' \;

Normalement je pense pas m'être trompé, \| pour banaliser le pipe et \n pour la fin de ligne.

Mais ça supprime la totalité de mes fichiers...

Someone can help me ?

1 réponse

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Pour le "pipe" c'est bon, par contre pour la fin de ligne c'est plutôt "$".
    De plus le "grep -q" supprime toute sortie ;-(

    Essaie comme ça (enlève le "echo" et les guillemets si le résultat te parait conforme) :

    $ ls
    fich1  fich2  fich3
    
    $ cat fich1
    bonjour
    à vous
    Comment allez-vous
    
    $ cat fich2
    bonjour
    à vous|P
    Comment allez-vous
    
    $ cat fich3
    bonjour
    à vous
    Comment allez-vous|P
    
    $ find . -type f -name "*"  -exec egrep -l "\|P$" {} \; | xargs  echo "rm -f"
    rm -f ./fich3 ./fich2
    
    $

    ;-))
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Tu peux aussi le faire comme ça :

      find . -type f -name "*"  -exec egrep -ql "\|P$" {} \; -exec echo "rm -f" {} \;
      0
    2. Am4ZinG
       
      J'essaie de suite je te remercie pour ta réactivité :)
      0
    3. Am4ZinG
       
      Hum ça n'a pas fonctionné, ça tente toujours de supprimer tous mes fichiers.

      Je vais rajouter un peu plus d'infos car, je n'ai pas été assez clair je pense.

      Dans mes fichiers textes, il y a exactement 2 fois '|P' en fin de ligne.

      Par exemple,

      bonjour
      à vous|P
      Comment allez-vous|P

      C'est ce type de fichier que je veux supprimer
      0
    4. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Tu es sur Windows ou sur Linux là ?
      0
    5. Am4ZinG
       
      Linux, par contre le egrep ne fonctionne pas sur l'os que j'utilise. J'ai dû utiliser le grep classique
      0