2017-11-15 3 views
-3

sedperl 명령을 사용하여 텍스트를 바꾸려고했지만 예상 한 결과를 얻지 못했습니다. 예를 들어 : 내가 가진텍스트의 특정 줄에만 n 문자를 이스케이프 식별자로 바꿉니다.

ABC"\ 
} 
else { 
.... 

를 교체하려면 :

ABC"\ 
} else { 
.... 

내가 어떻게 할 수 있습니까?

    가 탈출 식별자를 포함으로
  1. \n는 또한 패턴을 검색 할 수없는 나는 다음과 같이 직면 도전이다.
  2. 특정 줄을 잘라내어 바꾸는 것은 파일의 시작이나 끝이 아닙니다.
  3. 파일에서 줄 번호와 관련하여 변경하려고했으나 여러 파일에 대한 요구 사항이 있으므로 줄 번호가 일정하지 않습니다.
  4. else을 검색 할 수 있지만. \n
  5. Removing new line after a particular text via bash/awk/sed/perl 에 제공된 입력을 시도했지만 제 목적을 달성하지 못했습니다.

입력 사항을 알려주고 이에 대한 다른 접근 방법이 있으면 저에게 도움을주십시오.

+1

'ABC "\} \ n 다른 {은'.... 'ABC \} 다른 {로 대체하는 방법"'스택 오버플로 –

+2

에 오신 것을 환영합니다. 당신을 돕기 위해, 우리는 당신이 정확하게 시도한 것을 알아야합니다. 질문을 편집하고 시도한 Perl 및 sed 명령과 작동하지 않는 방법을 포함하십시오. 또한 [둘러보기]를 읽고 [ask]를 읽고 적절한 질문 형식을 지정하는 방법을 알아 보려면 마크 다운 도움말을보십시오. 두 목록 모두 특히 코드 형식이 귀하의 질문과 관련이 있습니다. 문제는 모든 문자가 중요한 정확한 문자 시퀀스를 포함합니다. 형식을 제대로 지정하지 않으면 현재 진행 상황을 볼 수 없습니다. – simbabque

+0

한 문자열을 같은 문자열로 바꾸려면 원하는 것처럼 보일 수 있으므로 질문을 이해하기 어렵습니다. 질문에 오타가 있다고 생각합니다. 편집하십시오. 또한, 우리가 당신을 도울 수있는 시도한 perl이나 sed 코드를 포함하십시오. –

답변

-1

아마 당신은

sed '/}/N;/\nelse {/s/\n/ /' 
-1

Tcl의 솔루션을 시도 할 수 있습니다 :

set text [string map [list "\\\n}\nelse {" "\\\n} else {"] $text] 

이 모든 항목을 대체합니다. 변수에 다시 쓰지 않습니다 : 위 예제에서와 같이 다시 할당해야합니다.

문서 : string

관련 문제