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 に答える