![sed를 사용하여 특정 줄 번호부터 시작하는 파일을 읽고 값을 바꾸고 새 파일로 출력하는 방법](https://linux55.com/image/209818/sed%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%8A%B9%EC%A0%95%20%EC%A4%84%20%EB%B2%88%ED%98%B8%EB%B6%80%ED%84%B0%20%EC%8B%9C%EC%9E%91%ED%95%98%EB%8A%94%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%9D%BD%EA%B3%A0%20%EA%B0%92%EC%9D%84%20%EB%B0%94%EA%BE%B8%EA%B3%A0%20%EC%83%88%20%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EC%B6%9C%EB%A0%A5%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
파일이 있는데 426행에서 시작하여 2372행에서 끝나는 파일을 읽고 싶습니다. 이 줄에서 , ,
새 줄 문자로 바꾸고 새 파일로 출력하고 싶습니다 .
나는 다음을 시도했습니다 :
sed -n '426,2372p' input.txt > $tmpSrcFile
섹션을 가져와 출력할 수 있지만 대체 항목을 추가하면 작동하게 할 수 없습니다.
sed -n '426,2372ps/:, ,:/\n/g' input.txt > $tmpSrcFile
답변1
특정 입력 파일의 경우:
1,
2,
3,
4,
5,
이 sed
호출은 다음 줄 범위 내에서만 교체 및 인쇄되는 것으로 보입니다.
$ sed -n '3,4{s/,/^/gp}' input; printf "END\n"
3^
4^
END
교체가 개행인 경우에도:
$ sed -n '3,4{s/,/\n/gp}' input; printf "END\n"
3
4
END