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 ?
A voir également:
- Suppression de fichiers contenant '|P\n'
- Forcer suppression fichier - Guide
- Renommer des fichiers en masse - Guide
- Explorateur de fichiers - Guide
- Fichiers epub - Guide
- Gestionnaire de fichiers - Télécharger - Gestion de fichiers
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) :
;-))
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
$
;-))
find . -type f -name "*" -exec egrep -ql "\|P$" {} \; -exec echo "rm -f" {} \;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