2016-07-05 4 views
0

は、私はこのようなコマンドラインですべてのマッチを印刷したい。このようなコマンドラインですべてのマッチを表示するには?

perl -0777 -nle 'print "$1\n" if /ModelProxy\("([\w*.]+)"\);/g' test.txt 

test.txt:私が欲しい

var orderform = new ModelProxy("orderform.b2b.*"); 
var orderform2b = new ModelProxy("web.orderform_2b.*"); 
var o2oOrderform = new ModelProxy("orderform.o2o.*"); 
var logistics = new ModelProxy("supply.logistics.*"); 
var tyreurgent = new ModelProxy("o2o.tyreurgent.*"); 
var common = new ModelProxy("web.common.file.*"); 
var cartPipeData = load("pipe/cartPipeData"); 
var tsCartPipeData = load("pipe/tsCartPipeData").default; 

されています:

orderform.b2b.* 
web.orderform_2b.* 
orderform.o2o.* 
supply.logistics.* 
o2o.tyreurgent.* 
web.common.file.* 

が、私は最初の1つを得ました:

orderform.b2b.* 

答えて

2

if //gは意味がありません。あなたはwhile //gを探しています。

perl -0777ne'print "$1\n" while /ModelProxy\("([\w*.]+)"\);/g' test.txt 

あなたの試合の途中で改行が予想されますか?そうでない場合は、ファイル全体をメモリに読み込む必要はありません。

perl -nle'print for /ModelProxy\("([\w*.]+)"\);/g' test.txt 
関連する問題