아마추어 언어 처리 100 개 노크 : 10

언어 처리 100개 노크 2015 의 도전 기록입니다. 환경은 Ubuntu 16.04 LTS + Python 3.5.2::Anaconda 4.1.1 (64-bit)입니다. 과거 노크 목록은 여기

2장: UNIX 명령의 기초



hightemp.txt는 일본의 최고 기온 기록을 "도도부 현", "지점", "℃", "일"의 탭으로 구분 된 형식으로 저장 한 파일입니다. 다음을 수행하는 프로그램을 만들고 hightemp.txt를 입력 파일로 실행하십시오. 또한 유사한 처리를 UNIX 명령으로 실행하여 프로그램 실행 결과를 확인하십시오.

우선 man 의 일본어화



이 장에서는 UNIX 명령을 공부합니다.
UNIX 커맨드의 조사 방법이 잘 모르고 직장의 동료에게 물었더니, 「먼저는 man으로 조사하는 버릇을 붙이십시오」라고 어드바이스를 받고, 즉시 단말로 man wc 라고 해 보았습니다.



역시 영어였나?<

하지만 고맙게도 일본어화된 패키지가 있었습니다.sudo apt-get install manpages-ja에서 설치할 수 있습니다. 유지의 여러분, 감사합니다.

이것으로 무사히 일본어가 되었습니다.



즉시 문제로 진행합니다.

10. 행 수 계산



행 수를 계산하십시오. 확인하려면 wc 명령을 사용하십시오.

완성된 코드:

main.py
# coding: utf-8

fname = 'hightemp.txt'
count = 0
with open(fname) as data_file:
    for line in data_file:
        count += 1
print(count)

실행 결과:

터미널
24

UNIX 커멘드로의 확인은, 쉘 스크립트의 공부도 겸해 스크립트로 해 봅니다.

test.sh
#!/bin/sh

wc --line hightemp.txt

실행 결과:

터미널
24 hightemp.txt

무사히, 같은 행수가 되었습니다.

쉘 스크립트 실행 시 주의(Windows 배치 파일과의 차이)



쉘 스크립트를 직접 실행할 때는 스크립트 파일에 실행 권한을 부여해야 합니다. chmod +x test.sh 등으로 권한을 부여하십시오. 또한 UNIX는 경로가 없으면 현재 실행 파일을 찾지 못합니다. 런타임은 ./test.sh 같은 느낌으로 장소 지정이 필요합니다.
UNIX와 Windows를 왔다 갔다오면 여러가지 혼란스러워요. 익숙한 문제이지만, 때로는 Windows에서 ls 
11번째 노크는 이상입니다. 실수 등이 있으시면 지적해 주시면 감사하겠습니다.

좋은 웹페이지 즐겨찾기