2016-10-12 4 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

SO *에 대한 * piece 대신에'man page'를 읽으십시오. – hek2mgl

+0

문제는 슬래시와 아무런 관련이 없습니다. 문제는 문자열에 줄 바꿈이 들어 있다는 것입니다. – Barmar

답변

2

당신이 찾고있는 구문은 다음과 같습니다

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

감사합니다. 리눅스에서 작동하지만 mac os x sed 구문은 약간 다릅니다. 나중에 참조 할 수 있도록 요지를 만들었습니다. https://gist.github.com/brnrds/8dfc8423f27f12aa123aa845c2a3a5a7 – bcsantos

관련 문제