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로 나타나는 총 라인 수로 나누면 평균 단어 수를 알 수 있다.
'네이버 블로그 백업 > 전산영어학' 카테고리의 다른 글
기말 과제 - 4. Concordance List (0) | 2003.12.23 |
---|---|
기말 과제 - 3. Word-Frequency List (0) | 2003.12.23 |
기말 과제 - 2. 첨부된 파일 [ex_01.txt]는 "캔터베리 이야기"에서 추출한 어휘 목록이다. (0) | 2003.12.23 |