3 Stimmen

Regex für dasselbe Muster mehrfach in einer Zeile

Das Muster, nach dem ich suche, ist dieses:

TXT.*\.txt

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

Danke!

3voto

codaddict Punkte 426877

Sie können Perl als verwenden:

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

2voto

codaddict Punkte 426877

Sie können grep als verwenden:

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X