LinuxでAWKコマンドでレコード区切り文字を使用する方法[閉じる]

LinuxでAWKコマンドでレコード区切り文字を使用する方法[閉じる]

以下のように、学生の成績を含むmarks.txtというファイルがあります。

Jones
2143
78
84
77

Gondrol
2321
56
58
45

RinRao
2122
38
37
65

Edwin
2537
78
67
45

Dayan
2415
30
47
20

ここでは、各生徒は2つの改行に分けられ、特定の生徒のスコアは1つの改行に分けられます。次のコマンドを使用して、これらの詳細を表形式で印刷したいと思います。

$ awk 'BEGIN{RS="\n\n", FS="\n";} {print $1,$2,$3,$4,$5}' marks.txt

ただし、構文エラーが表示されます。

awk: line 1: syntax error at or near ,

誰かがこの問題を解決するのを手伝ってください。

ベストアンサー1

あなたのコードは,2つのガイドラインを区別します。あなたは以下を行う必要があります;

$ awk 'BEGIN{RS="\n\n"; FS="\n";} {print $1,$2,$3,$4,$5}' file
Jones 2143 78 84 77
Gondrol 2321 56 58 45
RinRao 2122 38 37 65
Edwin 2537 78 67 45
Dayan 2415 30 47 20

おすすめ記事