개행 문자를 삽입하기 위해 "sed"를 사용하고 싶습니다(한 줄이 수백 줄이 됩니다)

개행 문자를 삽입하기 위해 "sed"를 사용하고 싶습니다(한 줄이 수백 줄이 됩니다)

vim에서 다음 줄에 해당하는 sed를 원합니다.

:s/","/",^M"/g

목표: 다수의 json 청크가 포함된 행을 가져와서 별도의 행으로 나눕니다.

내가 사용하고 싶은 것의 예는 다음과 같습니다. http://www.phantomwork.com/video/teen-titans-go/episodes/index.html(getFullEpisodes() 함수를 찾으세요).

내가 시도한 것:

519  sed -e 's/","/",\n"/g' < /tmp/url > /tmp/line-url

-- 작동하지 않습니다. "n"을 적절한 위치에 넣으면 됩니다.

521  sed -e 's/","/",\\n"/g' < /tmp/url > /tmp/line-url

-- 작동하지 않으면 적절한 위치에 백슬래시를 입력하고 그 뒤에 n을 입력하세요.

vim 명령의 전체 "스크립트"를 쉘 스크립트로 변환하고 싶습니다.

:s/","/",^M"/g
:1,$!grep seo
:g,^.*/vid,s,,http://www.cartoonnetwork.com/vid
:g/"},{.*/s///
:$s,"}];,,
:wn

답변1

귀하의 버전이 s///의 RHS를 sed이해하지 못하는 것 같습니다 .\n

bash명령줄에서 언제든지 이 작업을 수행할 수 있습니다 .

sed -e 's/","/",\
"/g' < /tmp/url > /tmp/line-url

명령줄 에서 csh백슬래시를 두 배로 늘려야 합니다. 후행 백슬래시 뒤에는 새 줄 문자 이외의 다른 문자가 와서는 안 됩니다.

관련 정보