2011-09-16 8 views
0

파일의 행을 변수 값으로 바꾸려고합니다 (변수에 Windows 경로가 있음). 변수가 STDOUT에 올바르게 인쇄되지만 관심있는 행을 대체하기 위해 sed에서 사용될 때는 백 슬래시가 사라집니다.sed : 변수에서 이스케이프 문자를 올바르게 해석하지 않습니다.

어떻게 해결할 수 있습니까? 다른 아이디어는 환영합니다.

CODE :

WINPATH = "\\\\ HD-장소 \\ stor1 \\ fold1 \\ 아카이브 \\ $ VAR1 $ 변수 2를 대입 할 때 변수 \\ 뷰어."

인쇄이 화면에 (로) \\ hd-place \ stor1 \ fold1 \ archive \ $ VAR1. $ Var2 \ Viewer

사용중인 SED 명령은 다음과 같습니다. cat file.xml | 나오지도 "3 C \ < \ RunFolder> $의 WINPATH </RunFolder>"이이 출력

(XML 태그 내부에 슬래시를 용서하십시오) :

HD-placestor1fold1archive $ VAR1 \

$ Var2Viewer

.

어디에서 원하는대로이 : \\ HD-장소 \ stor1 \ fold1 \ 아카이브 \ $ VAR1 $ 변수 2를 대입 할 때 변수 \ 뷰어도 후에 해석 sed으로 당신은 슬래시를 이스케이프의 한 계층을 추가로 필요

답변

2

. 변수가 확장되었습니다.

+1

믿을 수 없습니다. 나는 정직하게 그것을 추측했을 것이다. 매력처럼 작동합니다 (비록 내 코드는 끔찍합니다)! – Nick

관련 문제