2010-12-03 7 views
3

Le modèle que je suis à la recherche est la suivante:Regex pour le même motif plusieurs fois dans une ligne

TXT.*\.txt 

Ce modèle peut se produire plusieurs fois dans une ligne donnée. Je voudrais soit extraire chaque occurrence du motif, soit supprimer le texte qui entoure chaque occurrence en utilisant sed (ou quoi que ce soit, vraiment).

Merci!

Répondre

2

Vous pouvez utiliser grep comme:

grep -o 'TXT[^.]*\.txt' file 
3

Vous pouvez utiliser Perl comme:

$ cat file 
foo TXT1.txt bar TXT2.txt baz 
foo TXT3.txt bar TXT4.txt baz 

$ perl -ne 'print "$1\n" while(/(TXT.*?\.txt)/g)' file 
TXT1.txt 
TXT2.txt 
TXT3.txt 
TXT4.txt 
$ 
Questions connexes