如何使用 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

相关内容