![将文本添加到输出文件前面](https://linux22.com/image/181751/%E5%B0%86%E6%96%87%E6%9C%AC%E6%B7%BB%E5%8A%A0%E5%88%B0%E8%BE%93%E5%87%BA%E6%96%87%E4%BB%B6%E5%89%8D%E9%9D%A2.png)
我想解析一个文档,将每个“部分”部分分解为一个单独的文件。我使用以下脚本来执行此操作:
awk 'BEGIN {RS="Part [0-9]\n";} {F=sprintf("test_%03d", NR); print > F; close(F)}' text.txt
但是,我希望为每个文件以以下格式打印输出的文本:
title, author, part, text
politics, aristotle, 1, <outputted text goes here>
其中标题和作者是固定的,part 是一个从 1 增加到n部分的数量,最后是输出的文本。
我被困在这部分:print > F;
GNU 文档看来我想要的是类似的东西print | printf("title,author,part,text\npolitics,aristotle,%d,%s", counter, F)
(请原谅我的类似 C 的语法)。字段的结果通过管道传输到 printf 语句中。
谢谢!