[egrep] chaines ne contenant pas ...
InsAne0
-
crabs Messages postés 909 Statut Membre -
crabs Messages postés 909 Statut Membre -
Bonjour tout le monde,
J'aimerais savoir comment faire une expression régulière qui reconnaît les chaînes ne contenant pas une expression regulière.
Par exemple j'aimerais pouvoir filtrer avec egrep les fichiers finissant par ".wav", mais ne commençant pas par "sys".
Une solution que je n'aime pas serait de faire:
Car dans la liste suivante :
Je n'aurais que "gafdg.wav" et pas "sd.wav" car il a moins de trois lettres.
J'ai essayé des choses comme
Quelqu'un a une solution ou de la bonne doc' avec des exemples?
J'aimerais savoir comment faire une expression régulière qui reconnaît les chaînes ne contenant pas une expression regulière.
Par exemple j'aimerais pouvoir filtrer avec egrep les fichiers finissant par ".wav", mais ne commençant pas par "sys".
Une solution que je n'aime pas serait de faire:
ls | egrep "^[^s][^y][^s].*[.]wav$"
Car dans la liste suivante :
gafdg.wav sd.wav sysdf.wav sys.wav
Je n'aurais que "gafdg.wav" et pas "sd.wav" car il a moins de trois lettres.
J'ai essayé des choses comme
[^(sys)]sans résultat.
Quelqu'un a une solution ou de la bonne doc' avec des exemples?
A voir également:
- [egrep] chaines ne contenant pas ...
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Tv tcl ne trouve pas de chaînes - Forum TV & Vidéo
- Tv grandin ne trouve pas les chaînes - Forum Box et Streaming vidéo
- Décodeur cgv ne trouve pas les chaînes - Forum TNT / Satellite / Réception
- Balayage des chaines ne marche pas ✓ - Forum TNT / Satellite / Réception
1 réponse
Salut,
Une solution qui mange pas de pain :
- filtrer une première fois pour avoir les points wav
- filitrer une seconde fois pour supprimer ce qui commence par sys
A mon avis il est trop complexe d'essayer d'écrire dans une seule RE un truc
du genre qui marche avec ça mais pas avec ça, autant décomposer.
A+, crabs
Une solution qui mange pas de pain :
- filtrer une première fois pour avoir les points wav
- filitrer une seconde fois pour supprimer ce qui commence par sys
ls | egrep ".*\\.wav$" | egrep -v "^sys.*"
A mon avis il est trop complexe d'essayer d'écrire dans une seule RE un truc
du genre qui marche avec ça mais pas avec ça, autant décomposer.
A+, crabs