2013-03-10 3 views
0

AUD A0-FX.20AUD/USD.20으로 대체하려고하는데, Windows 용 cmd 쉘을 통해 sed를 사용합니다.sed windows는 공백이 포함 된 문자열을 대체합니다.

저는 Windows 쉘이 문자열의 공백을 잘 처리한다고 생각하지 않습니다.

SED -e s{AUD A0-FX.20{AUD/USD.20{ "C:\sed\bin\text.txt" > "C:\sed\bin\text1.txt" 

을하지만 난 이미 대체 문자열에서 /을 가지고 있기 때문에 나는

내가 구분 기호로 {를 사용하고 오류 SED: -e expression #1, char 5: unterminated의 'command` 얻을 - 여기에 내가 실행 해요 것입니다. 어떤 도움을 주시면 감사하겠습니다. 나는 Windows에서 테스트 할 수 없기 때문에이 질문을 해결할 수 있는지 모르겠어요 http://gnuwin32.sourceforge.net/packages/sed.htm

+0

당신이 당신의's을 (를) {인용 할 필요가 없습니다 .. {.. 창문 아래? – Kent

답변

0

에서 Windows 용 sed을 사용하고 있습니다,하지만 난이 개 제안을 줄 것이다 :

  1. .sed에 대한 특별하다 모든 문자를 찾습니다. "s{...{...{"
0

시도처럼, 작은 따옴표 나 큰 따옴표와 \.

  • 견적 당신의 sed 지침처럼 탈출 :

    sed "s|AUD A0-FX\.20|AUD/USD.20|" 
    
  • +1

    작은 따옴표는 CMD 셸에서 특별한 의미가 없으므로 따옴표가 필요합니다. –

    +0

    젠장 WinDoze! 감사합니다 @ 글렌 잭맨 –

    관련 문제