0

私は巨大なテキストファイルを持っています.liuxで約400.000行、幅80文字です。

ファイルを「展開」する必要があり、4 行を 1 つにマージして、最終的に 1/4 行になり、各行は 80*4 文字の長さになります。

助言がありますか?

4

3 に答える 3

10
perl -pe 'chomp if (++$i % 4);'
于 2009-02-19T07:57:06.267 に答える
2

あなたの質問を正しく理解できたことを願っています。次のような入力行があります (行が長いことを除いて):

abcdef
ghijkl
mnopqr
stuvwx
yz0123
456789
ABCDEF

次のような出力が必要です。

abcdefghijklmnopqrstuvwx
yz0123456789ABCDEF

次の awk プログラムでそれを行う必要があります。

{ line = line $0 }
(NR % 4) == 0 { print line; line = "" }
END { if (line != "") print line }

次のように実行します。

awk -f merge.awk data.txt
于 2009-02-19T07:57:34.657 に答える