次の4つのフィールドを持つファイルがあります。フィールド2には3つのグループがあり、第4フィールドには0と1が含まれます。AWKを使用してグループで最初のn番目の行を選択する
最初のフィールドは単なるインデックスです。
私は(グループ1のみ2行を持っていることに注意してください)次の作業
は、グループ1の最初の3行を選択して行うためにAWKを使用したいです。行の数は、4番目のフィールド時間に見つかった1の数に基づいています。3
グループ2の最初の6行を選択します。行の数は、4番目のフィールド時間3.
行数は4番目のフィールド時間で見つかった1の数3.
に基づいています3.だから、17行が出力のために選択されているグループの最初の9行を選択しますファイル。
ありがとうございました。
Input
1 1 TN1148 1
2 1 S52689 0
3 2 TA2081 1
4 2 TA2592 1
5 2 TA4011 0
6 2 TA4246 0
7 2 TA4275 0
8 2 TB0159 0
9 2 TB0392 0
10 3 TB0454 1
11 3 TB0496 1
12 3 TB1181 1
13 3 TC0027 0
14 3 TC1340 0
15 3 TC2247 0
16 3 TC3094 0
17 3 TD0106 0
18 3 TD1146 0
19 3 TD1796 0
20 3 TD3587 0
Output
1 1 TN1148 1
2 1 S52689 0
3 2 TA2081 1
4 2 TA2592 1
5 2 TA4011 0
6 2 TA4246 0
7 2 TA4275 0
8 2 TB0159 0
10 3 TB0454 1
11 3 TB0496 1
12 3 TB1181 1
13 3 TC0027 0
14 3 TC1340 0
15 3 TC2247 0
16 3 TC3094 0
17 3 TD0106 0
18 3 TD1146 0
あなたがグループと呼んでいるものとあなたがフィールドと呼んでいるものが私にはあまり明確ではないので、質問を再構成する必要があります。 awkでは、フィールドには非常に具体的な意味があり、これは問題をさらに混乱させます。 – SiegeX
あなたの質問を編集して、入力/出力フォーマットが現在読めるようにしました。将来の通知のために、あなたのコードを強調表示して、CTRL + Kを押すか、エディタの "101"アイコンを押してください。 – SiegeX
フィールド2には、3つの「グループ」1,2および3があります。これが明確になることを希望します。ありがとうSiegeX。 – Tony