2番目の列に基づいて、以下のファイルを2つのファイルに分割するのに役立ちますか? (値1で始まるグループと次の2行を加算したグループは1つのファイルに存在し、値0.1で始まり、次の2行を加算したグループは1つのファイルになければなりません。1つのファイル)
A 1
A 10
A 100
B 0.1
B 1
B 10
C 1
C 10
C 100
D 0.1
D 1
D 10
期待される出力ファイル1:
A 1
A 10
A 100
C 1
C 10
C 100
期待される出力ファイル2:
B 0.1
B 1
B 10
D 0.1
D 1
D 10
ありがとうございます! !
ベストアンサー1
$ cat tst.awk
!(c&&c--) {
out = "out" ($2 == 1 ? 1 : 2)
c = 2
}
{ print > out }
$ awk -f tst.awk file
$ head out?
==> out1 <==
A 1
A 10
A 100
C 1
C 10
C 100
==> out2 <==
B 0.1
B 1
B 10
D 0.1
D 1
D 10
バラより印刷には sed- または awk-a-line-follow-a-matching-pattern を使用します。what c&&c--
doesや他の同様のawkイディオムについてです。