ヘッダーとフッターを含むターミナルに結果を生成するプログラムがあります。「-」文字のみを含む最初の行が検出されたときにヘッダーが終了し、「-」を含む最後の行が検出されたときにフッターが開始されます。このプログラムの出力を、ヘッダーとフッターを切り取ってデータだけを残す別のプログラムに渡したいと思います。これを行う最も効率的な方法が何であるかはわかりません。ファイルのサイズは約 20MB です。私はMac OSXを実行しています
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 に答える