SED에 국경을 여는 방법은 무엇입니까? [복사]

SED에 국경을 여는 방법은 무엇입니까? [복사]

슬라이싱이 너무 복잡한 것 같아요SED는 어떻게 변수를 효율적으로 표현하나요? 이렇게 [a,b]가 아닌 (a,b)를 포함하고 싶습니다.돈 크리스티명령:

sed '/begin{document}/,/end{document}/!d;/end{document}/q' data.tex

그래서 출력에 and 를 포함하고 싶지 않습니다 \begin{document}. \end{document}출력에 열린 간격을 포함하는 방법은 무엇입니까?

답변1

이를 수행하는 방법에는 여러 가지가 있습니다. 제 생각에는 이것이 이해하기 더 어렵다고 생각합니다(간격을 선택하고 마음에 들지 않는 것을 제거하십시오:

sed '/begin{document}/,/end{document}/!d;/begin{document}/d;/end{document}/d' data.tex

또는돈 크리스티~의영수증:

sed '/begin{document}/,/end{document}/!d;//d' data.tex

또 다른 방법은 루프를 시작한 후 끝 줄까지 인쇄를 시작하는 것입니다.

sed -n '/begin{document}/{:;n;/end{document}/!{p;b;};}' data.tex

관련 정보