sed를 사용하여 특정 줄 번호부터 시작하는 파일을 읽고 값을 바꾸고 새 파일로 출력하는 방법

sed를 사용하여 특정 줄 번호부터 시작하는 파일을 읽고 값을 바꾸고 새 파일로 출력하는 방법

파일이 있는데 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

관련 정보