0

我有一个程序向包含页眉和页脚的终端生成结果。当遇到仅包含“-”字符的第一行时,页眉结束,当遇到包含“-”的最后一行时,页脚开始。我想通过另一个程序传递这个程序的输出,该程序将剪掉页眉和页脚,只留下数据。我不确定最有效的方法是什么。这些文件的大小约为 20MB。我正在运行 Mac OSX

4

1 回答 1

0

您可以使用“awk”来完成这项工作。下面是我在一个名为clip.awk 的文件中编写的awk 程序文件。您可以像这样修剪您描述 data.txt 的数据文件:
$ cat data.txt | awk -f clip.awk

这是程序clip.awk:

BEGIN { state = 0; # HEADER
}
# match a line of all ----
/^-+$/ {
    if (state == 0)
        state = 1; # DATA
    else
        state = 2; # FOOTER
    # Skip to next line
    next;
    }
# print any line while in DATA section
    { if (state == 1) print }
于 2013-05-31T04:37:32.300 回答