1

被测文件将具有如下文本模式:

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

谢谢

4

2 回答 2

1
grep function your_file|awk -F":" '{print $1}'
于 2012-08-14T12:52:23.077 回答
0
sed -n 's/\s*\([^: ]*\): function.*/\1/p' test1.js
于 2012-08-14T12:54:50.440 回答