awk를 사용하여 여러 후속 행에 조건부로 행을 추가하는 방법

awk를 사용하여 여러 후속 행에 조건부로 행을 추가하는 방법

하위 글머리 기호 시작 부분에 글머리 기호를 추가하려고 합니다.

예를 들어 다음 텍스트 파일을 변환합니다.

*foo
  abc
  def
  ghi
*bar
  jkl mno
*hello world
  pqr stu
  vwxyz

다음 텍스트 파일을 입력하세요.

foo, abc
foo, def
foo, ghi
bar, jkl mno
hello world, pqr stu
hello world, vwxyz

이것은 매우 간단해 보이며 이미 몇 가지 아이디어가 있지만 아직 파악하지 못했습니다.

답변1

스크립트 사용 awk:

awk '/^\*/{ pfx=substr($0, 2); next }{ print pfx","$0 }' file

산출:

foo,  abc
foo,  def
foo,  ghi
bar,  jkl mno
hello world,  pqr stu
hello world,  vwxyz

관련 정보