获得2种定义模式之间的串线
问题描述:
的最终测试文件将具有文本模式是这样的:获得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
感谢
答
sed -n 's/\s*\([^: ]*\): function.*/\1/p' test1.js
答
grep function your_file|awk -F":" '{print $1}'
感谢变化。奇迹般有效。 – cube 2012-08-14 23:22:18