1
파일의 한 줄을 변수에 저장된 여러 줄로 바꾸려고합니다. 화면에 인쇄 할 때 정확한 결과를 얻을 수 있지만 '적절한 위치에'교체하지 않으려는 경우는 아닙니다.sed 줄을 여러 줄 변수로 바꾸기
*some code*
*some code*
line number 1
line number 2
line number 3
*some code*
내가 노력 코드는했다 : 나는 결과 파일이 원하는
*some code*
*some code*
string_to_replace
*some code*
:
파일 양식을 가지고
new_string="line number 1\nline number 2\nline number 3"
# Correct output on screen
sed -e s/"string_to_replace"/"${new_string}"/g $file
# Single-line output in file: "line number 1line number 2line number 3"
sed -i s/"string_to_replace"/"${new_string}"/g $file
-i 결합하는 시도 -e 옵션을 사용하면 결과는 -i만을 사용할 때와 같습니다. 누군가이 문제를 해결하는 데 도움을 줄 수 있습니까?
내가 sed
에서 GNU 나오지도 (맥에서 ssh를 통해 연결)에 CentOS에 버전 4.1.5
내 [지금 삭제 된] 답변에서 볼 수 있듯이 Windows에서 파일을 변환하려고합니다. 이를 위해'dos2unix'를 확인하십시오. – fedorqui
스택 오버플로는 프로그래밍 및 개발 관련 질문을위한 사이트입니다. 이 질문은 프로그래밍이나 개발에 관한 것이 아니기 때문에 주제와는 거리가 먼 것처럼 보입니다. 도움말 센터에서 [여기에서 내가 질문 할 수있는 항목은 무엇입니까?] (http://stackoverflow.com/help/on-topic)를 참조하십시오. 아마도 [Super User] (http://superuser.com/) 나 [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/)가 더 나은 곳이 될 것입니다. – jww
''$ {new_string // \ n/\\ n} "'시도 했습니까? Sed는 치환을 위해'\ n'을 요구한다; 리터럴 뉴 라인은 다음 명령을 시작합니다. –