sed, grep 및 awk를 이해하려고 노력 중이지만 다음 문제에 직면했습니다. sed를 사용하여 두 패턴(시작 및 끝) 사이의 모든 줄을 가져온 후 다음 로그가 표시됩니다.
START
tag: text info text text info text
text info texttext info text
text info texttext info text
text info texttext info text
other_tag: text info text text info text
text info text text info text text info text
text info text text info text text info text
END
START
tag: text info text text info text
text info text text info text
text info text text info text
other_tag: text info text text info text
text info text text info text text info text
text info text text info text text info text
END
다음과 같이 시작 [탭]을 제거하여 모든 행을 상위 행에 병합하고 싶습니다.
START
tag: text info text text info text text info text text info text text info text text info text text info text text info text
other_tag: text info text text info text text info text text info text text info text text info text text info text text info text
END
START
tag: text info text text info text text info text text info text text info text text info text
other_tag: text info text text info text text info text text info text text info text text info text text info text text info text
END
누구든지 나를 도와줄 수 있나요? 감사해요!
답변1
아마도 계속해서 사용해야 할 것 같습니다.sed. 사용질소다음 입력 줄을 패턴 공간에 추가한 다음 일치시킬 수 있습니다.\N두 줄 사이.
다음을 참조할 수 있습니다.
sed ':a; N; $!b a; s/\n\s\{1,\}/ /g'