次のデータセットがあります。
Cow_ID Age DIM
1 1424 0
1 1425 1
1 1426 2
1 1427 3
2 1428 4
2 1429 5
2 1430 6
2 1431 7
3 1432 8
3 1433 9
3 1434 10
3 1435 11
3 1436 12
4 1437 13
4 1438 14
4 1439 15
私はawkを使用してCow_IDに基づいてこのデータのサブセットを作成し、それをファイルに書きたいと思います。特に、各ファイルには、大規模なデータセットに示されているようにヘッダも含まれています。今これを使っていますが、うまくいきません。
awk 'Cow_ID=1 {print}' > data1.txt
私が望むサンプル出力は次のとおりです。
データ1:
Cow_ID Age DIM
1 1424 0
1 1425 1
1 1426 2
1 1427 3
データ2:
Cow_ID Age DIM
2 1428 4
2 1429 5
2 1430 6
2 1431 7
など。
ベストアンサー1
これはあなたの要件を満たすようです。 NR(レコード番号)が1の行を表示します。これは、ヘッダー行と最初のフィールドが「1」のすべての行を合計したものです。
awk 'NR == 1 || $1 == "1"' file.txt
Cow_ID Age DIM
1 1424 0
1 1425 1
1 1426 2
1 1427 3
awk 'NR == 1 || $1 == "2"' file.txt
Cow_ID Age DIM
2 1428 4
2 1429 5
2 1430 6
2 1431 7