2017-10-26 15 views
0

を使用して2つのパターン間のJavaScriptコードを交換してください。私はthis answerに続き、次のことを試してみました:は、私は次のコードを持っているbashの

sed: 1: "s/(if \(control\.text ! ...": RE error: invalid repetition count(s) 
+0

'\ {'は繰り返しを開いていますが、 '(' 'は有効な引数ではなく、' {n、m} 'のようにする必要があります。 。あなたのカンマを使ってもそれを修正するsedが行ごとに編集してからndは動作しません。 – 123

+0

@ 123何を使用することをお勧めしますか? – ncohen

答えて

1

を返し

sed -i 's/(if \(control\.text !== myVar\) \{).*?(\})/\1 REPLACEMENT_STRING \2/is' myFile.js 

あなたはこの1つを試すことができますが、いくつかは、「{」あなたの関数に表示された場合、それは本当に効率的ではありません...

sed '/if (control\.text !== myVar) {/!b;p;s/.*/REPLACEMENT_STRING/p;:A;N;/}/!{s/.*//;bA};D' myFile.js 
+0

動作するようですが、私の置き換え文字列はすべてを狂わせます。 'sed -i '/ if(dir \ ._ control!== newCtrl){/!b;p;s/.*/\t\t\t\tcleanUpControl(dir\._control、dir) ; \ n \ t \ t \ t \ tif(newCtrl \&&FormControlのnewCtrlインスタンス){\ n \ t \ t \ t \ t \ tsetUpControl(newCtrl、dir); \ n \ t \ t \ t \ t \ n \ t \ t \ t \ t} \ else {\ n \ t \ t \ t \ tdir \。\ control \ null] /p;:A;N;/*/!{s/.*//;bA};D 'forms.umd.js'しかし、必要なものを2回コピーしますが、置き換えずに追加します。何か案が? – ncohen

関連する問題