BASH

포스트: 81
Tags

Posts

81 posts

리눅스 bash 스크립트에서 변수/배열/연관배열 삭제/초기화

반달가면|2020년 3월 2일

리눅스 bash 스크립트에서 변수 또는 배열을 삭제하는 명령은 unset이다. 우선 변수에 대해서 아래의 예시를 보자. # 문자열 "abc"를 변수 var에 할당 var="abc" # 변수 var에 할당된 내용 출력 echo "$var" abc # 변수 var 삭제 unset var # 변수 var에 할당된 내용 출력 echo "$var" unset에서 지정하는 변수명 앞에 "$" 표시가 붙지 않는다는 점에 유의. 만약 "$"를 붙이면 해당 변수명이 아니라 변수에 할당된 값이 unset의 인자(argument)로 지정되기 때문이다. 배열에 대한 삭제/초기화 작업도 같은 요령이다. 우선, 리눅스 bash 스크립트에서 배열(array)을 활용하는 기본적인 방법은 이

[bash:awk] awk를 이용한 분산/표준편차 계산

반달가면|2020년 2월 11일

awk를 이용해서 파일에 저장된 값들의 분산(variance)과 표준편차(standard deviation)를 계산하는 방법이다. 표준편차를 계산하려면 우선 평균을 알아야 한다. awk를 이용한 평균값 계산은 이전 게시물을 참고하자. 여기로 전에 사용한 것과 동일한 예시를 사용해서 표준편차를 계산해 보자. data.txt 파일에 저장된 자료는 아래와 같다. # data.txt 내용 확인 cat data.txt john 12.35 jane -34.5 thomas 3.9 우선 평균을 계산하여 변수 mean에 할당한다. # 평균값을 계산하여 변수 mean에 할당 mean=`awk '{ sum += $2; cnt++ } END { print sum/cnt }' data.txt`

[bash:awk] awk를 이용한 평균값 계산

반달가면|2020년 2월 4일

awk를 이용해서 파일에 저장된 값들의 평균을 계산하는 방법이다. 우선 data.txt 파일에 아래와 같은 값이 저장되어 있다고 가정하자. # data.txt 내용 확인 cat data.txt john 12.35 jane -34.5 thomas 3.9 위와 같은 내용으로 저장되어 있을 때, 평균을 계산하려면 아래와 같이 가능하다. awk '{ sum += $2; cnt++ } END { print sum/cnt }' data.txt -6.08333 data.txt의 두번째 항목($2)을 더해서 변수 sum에 저장하고, 자료값의 수를 세기 위해 변수 cnt도 1씩 증가. 합산 작업이 끝나면(END) 합(sum)을 자료값의 수(cnd)로 나누면 평균이 된다. 만약 파일

상관 관계 자료를 2차원 연관 배열(associatve array)에 할당

반달가면|2019년 9월 23일

댓글로 질문을 받았던 문제인데, 답변이 길어서 별도의 게시물로 작성. 문제는 대략 아래와 같다. 간단한 예시로 설명한다. my_data.txt 파일에 3개의 항목(a, b, c)들 사이의 상관 관계가 기록되어 있는데, 형식은 아래와 같다. # my_data.txt 내용 cat my_data.txt a b#, c: b a# c a, b: 각 행의 첫번째 항목(field)은 항목 명칭이다. 각 행의 두번째 항목 이후는 첫번째 항목에 대한 상관 관계 자료다. 연관성 종류에 따라 "#" 또는 ":" 기호가 추가될 수 있다. 이 자료를 2차원 테이블로 표현하는 것이 목표다. 위의 예시를 표현하면 아래와 같이 만드는 것이 결과물이다. a b c ------