- cat
- ls
- head
- wc
- tr
- |
sudo apt install sed # 데비안계열에서 sed 패키지 설치
cat은 매우 중독성이 강한 명령어중 하나이다. 파일 안을 들여다보고 싶을때 말이다. 한눈에 자료를 볼 수 있다면 매우 효과적이다. 그러나 복잡한 구조를 가진 데이터 파일이라면 무용지물이다. 한눈에 볼 수 없는 크기의 파일이라면 효과가 제한적이다. 게다가 만약 크기가 매우 큰 파일이라면, 시스템에 부담을 줄 수도 있다. cat을 쓰지 않고, 데이터 파일의 구조와 정보를 파악해야하는 경우가 매우 흔하다.
- 데이터 구조와 정보는 무엇일까? 이 질문에 정교하게 답을 하고 싶지 않다. 분석 과정에서 필요한 것이 정보 아닐까한다. 굳이 비교하자면, R의 str() 또는 한눈에 볼 수 있는 규모로 축소된 함축적인 내용이 정보일 것이다.
아래의 파일을 사용하여 연습하자:
- ls
# 파일 크기 보기 (KB)
ls -s news_IT_732_20170630_1.csv
- head
head -1 news_IT_732_20170630_1.csv # 파일 첫 줄 보기
- sed 패키지
# 데비안계열 리눅스에서 sed 패키지 설치하기
sudo apt install sed
# 데이터 파일에서 ,를 제외한 다른 사항을 공백으로 만들기
sed 's/[^,]/ /g' news_IT_732_20170630_1.csv
- wc
# 데이터 파일에서 단어 세기
wc -w news_IT_732_20170630_1.csv
- 명령어 하나씩을 실행하면 원하는 데이터셋의 정보를 얻을 수 있을까? 그렇지 않다. 하지만, 범위를 좁혀 나가는 과정에서 정보를 찾을 수 있다.
# 데이터 파일의 column 정보 파악하기
# column은 변수 이름 목록인 경우가 많다
head -1 news_IT_732_20170630_1.csv |
sed 's/[^,]/ /g' |
wc -w
7이라는 숫자가 최종적으로 보일 것이다. 7은 , 의 개수이다. 그렇다면 , 로 분리되는 것은 8개일 것이다. 변수가 8개라고 이해할 수 있다.물론 'head -1 데이터파일' 명령어를 사용하면 첫줄의 정보를 볼 수 있는데, 그 첫줄에 등장하는 내용이 변수 목록이기도 하다.
만약, 변수 목록을 '옆으로'가 아닌 '밑으로' 보고 싶을때는 어떻할까?
# 변수 목록을 위에서 아래로 보기
head -1 news_IT_732_20170630_1.csv | tr "," "\n"
- 그럼, 구조화된 .csv 데이터 파일에서 크기와 column(변수)의 숫자를 알았다면, row(사례)의 개수는 어떻게 알 수 있을까?
'CSV files with Shell > CSV file info' 카테고리의 다른 글
.csv 파일에서 사례 정보 찾기 (0) | 2022.08.20 |
---|