패턴으로 시작하는 줄을 선택적으로 연결하는 방법 [중복]

패턴으로 시작하는 줄을 선택적으로 연결하는 방법 [중복]

이 글은 다음과 같이 볼 수 있습니다.이전 기사에 대한 후속 조치.

입력 파일은 다음과 같습니다.

module ABC   
x(a,b,c)  
module DEFG  
y(d,e,f,  
g,h,i)  
module HIJKL  
z(j,k,l)

출력 파일은 다음과 같아야 합니다.

module ABC x(a,b,c)  
module DEFG y(d,e,f,  
g,h,i)  
module HIJKL z(j,k,l)

제공된 솔루션에서 별표를 와일드카드로 사용해 보았습니다.참고 게시물하지만 예상대로 작동하지 않습니다.


부록 면밀히 조사한 결과 이러한 솔루션이 실제로 초기 작업에도 도움이 된다는 사실을 발견했습니다(@steeldriver가 지적했듯이). 문제는 파일이 DOS/Windows 플랫폼에서 생성되었으며 ^M예상치 못한 문자가 출력에 삽입되어 후속 처리가 엉망이 된다는 것입니다. 이제 입력 파일에 대해 dos2unix를 실행했는데 문제가 사라졌습니다(즉, 이전 솔루션도 저에게 효과적이었습니다).

중복된 내용이므로 이 게시물을 닫는 것이 좋습니다.

답변1

다음은 다음을 사용하는 솔루션입니다.:

awk '{if ($0 ~ /^module/) {ORS=""}  else {ORS="\r\n"} ; print}'

관련 정보