2010-12-03 11 views
3

Das Muster, die ich suche, ist dies:Regex für das gleiche Muster mehrmals in einer Zeile

TXT.*\.txt 

Dieses Muster mehrere Male in einer bestimmten Zeile auftreten können. Ich möchte entweder jede Instanz des Musters extrahieren oder alternativ den Text, der jede Instanz umgibt, mit sed (oder irgendetwas, wirklich) löschen.

Danke!

Antwort

2

Sie grep als verwenden können:

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

Sie können mit Perl als:

$ 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 
$ 
Verwandte Themen