2010-12-03 5 views
3

Узор Я ищу это:Regex для той же схеме, несколько раз в одной строке

TXT.*\.txt 

Эта модель может происходить несколько раз в любой строке. Я хотел бы либо извлечь каждый экземпляр шаблона, либо, наоборот, удалить текст, который окружает каждый экземпляр, используя sed (или что-нибудь, действительно).

Спасибо!

ответ

2

Вы можете использовать Grep как:

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

Вы можете использовать Perl как:

$ 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 
$ 
Смежные вопросы