如何用 awk 对文件以特殊行为界限进行切割?

假设一个文件是类似这样一个格式:

SPLITTER filename1
aa
..
SPLITTER filename2
bb
..
SPLITTER filename3
cc
..

希望以 SPLITTER 这行为界限,将后面的内容输出到 filename 文件中。
查了下没有查到 awk 类似“如果匹配到 SPLITTER 就把后面的行输出到 $2 直到匹配到下一个 SPLITTER” 的语法,故有此问

阅读 3.5k
2 个回答

awk -F 'SPLITER' '{print $1}'
不知道是不是你的意思

awk '/^SPLITTER/{file = $NF; next} /./{print >> file}'

自己找到办法了。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题