2012-08-14 34 views
1

的最終測試文件將具有文本模式是這樣的:獲得2種定義模式之間的串線

name1: function(){ 

}, 
name2: function(){ 

}, 
name3: function(){ 

}, 

我需要在這個例子中「NAME1」,「NAME2」和「NAME3」 。 所以用這個bash腳本:

v1='},' 
v2=': function' 
sed 's/'"$v1"'\(.*\)'"$v2"'/\1/g' test1.js > newfile2 

這似乎只是工作,如果該圖案顯示出來,如:

},name1: function 

但當然的文本文件格式不這樣。它是這樣的:

}, 
name1: function 

我應該添加到正則表達式,我會需要什麼? 我不想使用sed

感謝

回答

0
sed -n 's/\s*\([^: ]*\): function.*/\1/p' test1.js 
+0

感謝變化。奇蹟般有效。 – cube 2012-08-14 23:22:18

1
grep function your_file|awk -F":" '{print $1}'