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 に答える