본문 바로가기
네이버 블로그 백업/전산영어학

기말 과제 - 1. 첨부된 파일 [ex_00.txt]는 "캔터베리 이야기"이다.

by wizmusa 2003. 12. 22.

1. 첨부된 파일 [ex_00.txt]는 "캔터베리 이야기"이다.

    (1) 라인 번호를 부착하는 awk 프로그램을 만드시오. (15점)

        ⁚ 프로그램 소스
 

{

print NR "|" $0;

}

        ⁚ 라인 번호 부착된 텍스트 앞부분 10줄과 뒷부분 10줄

1| Group 1

2|

3| The General Prologue

4| Whan that aprill with his shoures soote

5| The droghte of march hath perced to the roote,

6| And bathed every veyne in swich licour

7| Of which vertu engendred is the flour;

8| Whan zephirus eek with his sweete breeth

9| Inspired hath in every holt and heeth

10| Tendre croppes, and the yonge sonne

24072| Present lyf,/ thurgh the benigne grace of

24073| Hym that is kyng of kynges and preest

24074| Over alle preestes, that boghte us with the

24075| Precious blood of his herte;/ so that is may

24076| Been oon of hem at the day of doom that shulle

24077| Be saved. Qui cum patre et spiritu sancto vivit

24078| Et regnat deus per omnia secula. Amen.

24079|

24080|

24081|Heere is ended the book of the tales of Canterbury, compiled by Geffrey Chaucer, of whos soule Jhesu Crist have mercy. Amen.


    (2) 각 라인마다 워드의 갯수를 계산하는 프로그램을 만드시오. (15점)

        ⁚ 프로그램 소스

 

{

print "[" NR "]","[" NF "]", $0

NF = 0;

}

        ⁚ 아래 형식의 결과 파일을 만들고, [Line Number] [Word Count] Text 결과물의 앞부분 10줄과 뒷부분 10줄을 인쇄

[1] [2] Group 1

[2] [0]

[3] [3] The General Prologue

[4] [7] Whan that aprill with his shoures soote

[5] [9] The droghte of march hath perced to the roote,

[6] [7] And bathed every veyne in swich licour

[7] [7] Of which vertu engendred is the flour;

[8] [7] Whan zephirus eek with his sweete breeth

[9] [7] Inspired hath in every holt and heeth

[10] [6] Tendre croppes, and the yonge sonne

[24072] [7] Present lyf,/ thurgh the benigne grace of

[24073] [8] Hym that is kyng of kynges and preest

[24074] [8] Over alle preestes, that boghte us with the

[24075] [9] Precious blood of his herte;/ so that is may

[24076] [11] Been oon of hem at the day of doom that shulle

[24077] [9] Be saved. Qui cum patre et spiritu sancto vivit

[24078] [7] Et regnat deus per omnia secula. Amen.

[24079] [0]

[24080] [0]

[24081] [22] Heere is ended the book of the tales of Canterbury, compiled by Geffrey Chaucer, of whos soule Jhesu Crist have mercy. Amen.



    (3) 라인 별 낱말의 평균 갯수를 구하는 프로그램을 만드시오. (20점)

        ⁚ 프로그램 소스
 

BEGIN {

nWord = 0;

}

{

nWord += NF

}

END {

print "총 Line 수 :", NR,"/ 총 단어 수 :", nWord

print "Line 당 평균 단어 수 :", nWord/NR

}

    ⁚ 프로그램에 대한 설명과 라인 당 낱말(Words/Line)의 평균 갯수 인쇄

총 Line 수 : 24081 / 총 단어 수 : 183616

Line 당 평균 단어 수 : 7.62493

        총 단어 수를 저장하는 변수로 nWord를 두고 nWord += NF로 총 단어 수를 산출하면 NR로 나타나는 총 라인 수로 나누면 평균 단어 수를 알 수 있다.

반응형