sed를 사용하여 여러 줄에 문자열을 삽입하려고 하는데 원하는 결과를 얻지 못합니다.
나는 이것을 가지고있다:
<p begin="540960420t" end="600189590t" xml:id="subtitle8">-Some text.<br/>-Some more text</p>
<p begin="601020420t" end="653572920t" xml:id="subtitle9">-Something else<br/>Some more text</p>
<p begin="654403750t" end="731560830t" xml:id="subtitle10">More words<br/>-more text</p>
<p begin="732401670t" end="786625840t" xml:id="subtitle11">Some text.<br/>Some more text</p>
이걸 삽입해야 해
<span style="style0">
"자막[0-200]"> 앞에는 다음과 같습니다.
<p begin="540960420t" end="600189590t" xml:id="subtitle8"><span style="style0">-Some text.<br/>-Some more text</p>
<p begin="601020420t" end="653572920t" xml:id="subtitle9"><span style="style0">-Some text.<br/>Some more text</p>
등...
나는 다음과 같은 것을 시도하고 있습니다 :
cat demo.xml | sed 's/xml:id="subtitle[0-9]">/<span style="style0"><p/g'
하지만 이것은바꾸다xml:id="subtitle[0-9]"> 및 subtitle0부터 subtile9까지만
저는 모든 sed 및 정규 표현식 관련 내용을 처음 접했습니다. 다른 것이 sed보다 쉬우면 문제가 되지 않습니다.
안부 인사 사우론
답변1
넌 할 수있어:
sed 's/subtitle[0-9]\{1,3\}">/&<span style="style0">/'
1~3자리 숫자의 일치를 사용하여 자막 [0-200]과 일치 \{1,3\}
하고 추가된 일치 패턴으로 대체됩니다 <span style...
.
다음을 입력하는 경우:
<p begin="540960420t" end="600189590t" xml:id="subtitle8">-Some text.<br/>-Some more text</p>
<p begin="601020420t" end="653572920t" xml:id="subtitle9">-Something else<br/>Some more text</p>
<p begin="654403750t" end="731560830t" xml:id="subtitle10">More words<br/>-more text</p>
<p begin="732401670t" end="786625840t" xml:id="subtitle11">Some text.<br/>Some more text</p>
이것은 출력됩니다
<p begin="540960420t" end="600189590t" xml:id="subtitle8"><span style="style0">-Some text.<br/>-Some more text</p>
<p begin="601020420t" end="653572920t" xml:id="subtitle9"><span style="style0">-Something else<br/>Some more text</p>
<p begin="654403750t" end="731560830t" xml:id="subtitle10"><span style="style0">More words<br/>-more text</p>
<p begin="732401670t" end="786625840t" xml:id="subtitle11"><span style="style0">Some text.<br/>Some more text</p>
답변2
모든 줄이 표시된 대로라면 >
각 줄의 첫 번째 문자열 뒤에 새 문자열을 입력하기만 하면 됩니다.
$ sed 's/>/><span style="style0">/' file
<p begin="540960420t" end="600189590t" xml:id="subtitle8"><span style="style0">-Some text.<br/>-Some more text</p>
<p begin="601020420t" end="653572920t" xml:id="subtitle9"><span style="style0">-Something else<br/>Some more text</p>
<p begin="654403750t" end="731560830t" xml:id="subtitle10"><span style="style0">More words<br/>-more text</p>
<p begin="732401670t" end="786625840t" xml:id="subtitle11"><span style="style0">Some text.<br/>Some more text</p>