将文本添加到输出文件前面

将文本添加到输出文件前面

我想解析一个文档,将每个“部分”部分分解为一个单独的文件。我使用以下脚本来执行此操作:

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 语句中。

谢谢!

相关内容