Regex 在一行中多次使用同一模式的正则表达式

Regex 在一行中多次使用同一模式的正则表达式,regex,sed,Regex,Sed,我要寻找的模式是: TXT.*\.txt 该模式可以在任何给定行中出现多次。我想提取出模式的每个实例,或者使用sed删除围绕每个实例的文本(或者任何东西) 谢谢 您可以将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 TX

我要寻找的模式是:

TXT.*\.txt
该模式可以在任何给定行中出现多次。我想提取出模式的每个实例,或者使用sed删除围绕每个实例的文本(或者任何东西)

谢谢

您可以将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
$ 
您可以将grep用作:

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