2010-04-26 7 views
0

어떻게 makefile이 제어하는 ​​SED로 줄 끝 부분에 추가 할 수 있습니까? 문제가 행의 끝의 마크 $의 사용이다Makefile에서 SED로 행 끝 바꾸기

나는

paste -d" " t.tex tE.tex | sed '[email protected][email protected]@' > tM.tex 

를 실행합니다. 단지 두 줄이 들어 내 메이크 태그 :

은 내가 그냥 "모든"다음 명령을

#paste -d" " t.tex tE.tex | sed -e s/" "/\\\&/g | sed -r "s/XXX/" > tM.tex 
sed: -e expression #1, char 10: unterminated `s' command 
make: *** [all] Error 1 

를 얻을.

매개 변수 -n-e은 여기서 도움이되지 않습니다. 이 명령은 터미널에서 직접 실행될 때 예상대로 작동합니다.

+0

일부 샘플 입력과 예상 출력을 추가 할 수 있습니까? – IanNorton

답변

4

언급 된 char $가 포함되어 있지 않습니다. 명령에서 리터럴 $을 얻으려면 다른 하나 앞에 접두사를 붙여야합니다 : $$. 자세한 내용은 GNU make 설명서의 6.1 Basics of Variable References을 참조하십시오.

0

마지막 sed 명령의 마지막 "/"가 누락되었습니다.

paste -d" " t.tex tE.tex | sed s/" "/\\\&/g | sed -r "s/XXX//" > tM.tex 

이 리눅스에 나를 위해 잘 작동하지만이 문제가 $ 캐릭터 메이크에서 특수 문자