2017-11-22 12 views
0

自動コードスキャンのため、自己署名証明書の機能をhttps://github.com/apache/cordova-plugin-file-transfer/blob/master/src/ios/CDVFileTransfer.m,838〜850行から削除する必要があります。行番号sedまたはawkを使ってファイルから特定の関数を削除する

sed -i '' -e '838,850d' CDVFileTransfer.m 

変更前のコードのいずれかが当てはまるのはもちろん危険です。

私は閉じ括弧を持っている最初の行(Line 850)

// for self signed certificates 

で始まる行(Line 838)からすべてを削除するsedの表現を探しています

} 

ので

のようなもの
sed -i '' -e '^"// for self signed certificates",^"}"d' CDVFileTransfer.m 

これは可能ですか?

私は正規表現で自分の運を試してみた:

sed -i '' -e '#"// for self signed certificates"*^{#' CDVFileTransfer.m 

が、それは何も一致していません。

答えて

1
sed -e '/^\/\/ for self signed certificates/,/^}$/d' 

または

sed -e '\@^// for self signed [email protected],/^}$/d' input 

私は明確にするためのための-iを省略していて、それがSEDのすべてのバージョンでは使用できませんので。また、sedはストリームエディタです。ファイルを編集する場合は、sedが基づいているファイルのエディターであるedを使用する必要があります。個人的意見では、-iはひどい考えです。ファイルを上書きする場合は、シェルのリダイレクトを使用するか、ラッパー関数を記述します。

関連する問題