Suppression de fichiers contenant '|P\n'
Résolu
Am4ZinG
-
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 ?
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
-
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 $
;-))
-
-
-
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 -
-
-