2016-10-12 14 views
-1

スラッシュを含む文字列をファイルの特定の行に挿入しようとしています。sedを使用して特定の行にスラッシュを含む文字列を挿入します

私は、ファイルの行52に挿入する文字列は次のとおりです。

/*-------------------------------------------------------------- 
CUSTOM VARS & MIXINS 
--------------------------------------------------------------*/ 
@import "custom/custom_vars_mixins"; 

一緒に両方の質問に別の答えをつなぎしようとすると、私は次のコードに到着しました:

sed -i 's#52i 
/*-------------------------------------------------------------- 
CUSTOM VARS & MIXINS 
--------------------------------------------------------------*/ 
@import "custom/custom_vars_mixins";#replace#g' ../style.scss 

次のエラーが返されます:

sed: -e expression #1, char 5: unterminated `s' command 

誰でも構文を助けてください。

+0

あなたは、バックスラッシュと改行をエスケープする必要があります。 – Barmar

+0

*の代わりに 'man page'を読んでください。 – hek2mgl

+0

問題はフォワードスラッシュとは関係ありません。問題は、文字列に改行が含まれていることです。 – Barmar

答えて

2

あなたが探している構文は次のとおりです。

sed -i '52i\ 
/*--------------------------------------------------------------\ 
CUSTOM VARS & MIXINS\ 
--------------------------------------------------------------*/\ 
@import "custom/custom_vars_mixins";' ../style.scss 
+0

ありがとうございます。 Linuxで動作しますが、mac os x sedの構文は少し異なります。将来の参照のために要点を作りました:https://gist.github.com/brnrds/8dfc8423f27f12aa123aa845c2a3a5a7 – bcsantos

関連する問題