![텍스트 파일에서 Unix에서 sed를 사용하여 특정 텍스트 모드로 묶인 텍스트의 여러 부분을 분리하는 방법은 무엇입니까?](https://linux55.com/image/84763/%ED%85%8D%EC%8A%A4%ED%8A%B8%20%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20Unix%EC%97%90%EC%84%9C%20sed%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%8A%B9%EC%A0%95%20%ED%85%8D%EC%8A%A4%ED%8A%B8%20%EB%AA%A8%EB%93%9C%EB%A1%9C%20%EB%AC%B6%EC%9D%B8%20%ED%85%8D%EC%8A%A4%ED%8A%B8%EC%9D%98%20%EC%97%AC%EB%9F%AC%20%EB%B6%80%EB%B6%84%EC%9D%84%20%EB%B6%84%EB%A6%AC%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
나는 sed -n START_LINE,FINISH_LINEp filename > newfile
텍스트 파일에서 특정 범위의 텍스트를 추출하는 데 사용합니다 sed -n 45,50p datafile > newfile
.
항상 동일한 텍스트 모드로 둘러싸인 여러 텍스트 섹션을 추출하려면 어떻게 해야 합니까? 예를 들어, 추출하려는 텍스트는 항상 39행에서 시작하여 Subject:?????
바로 앞에서 끝납니다 Start Date: ??/??/??
.
답변1
이것 자체로는 귀하의 질문에 대답할 수 없지만, awk
우아한 해결책이 있습니다.
$ awk '
# Set start variable
/Subject/ { start=NR + 39; }
# Disable print condition below
/Start Date/ { start=""; next; }
# Print while line is greater than start
NR > start && start
' someFile.txt