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

여기서 각 학생은 두 개의 줄 바꿈으로 구분되며 특정 학생의 점수는 하나의 줄 바꿈으로 구분됩니다. 이제 다음 명령을 사용하여 이러한 세부 정보를 표 형식으로 인쇄하고 싶습니다.

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

하지만 구문 오류가 표시됩니다.

awk: line 1: syntax error at or near ,

누군가 이 문제를 해결하도록 도와주세요.

답변1

귀하의 코드는 ,두 가지 지침을 구분합니다. 당신은 다음을 수행해야합니다 ;:

$ 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

관련 정보