연관배열

포스트: 7
Tags

Posts

7 posts

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

반달가면|2022년 8월 3일

bash 스크립트에서 사용중이던 배열(array) 또는 연관배열(associative array)의 모든 원소를 삭제하고 싶다면 빈 배열을 할당하면 된다. x[0]='abc' x[1]='def' # x 초기화 x=() 연관배열도 동일하다. declare -A a_x a_x[abc]=1 a_x[aaa]=2 # a_x 초기화 a_x=() 배열의 사용에 대한 추가적인 내용은 아래의 링크를 참고하자.

리눅스 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)을 활용하는 기본적인 방법은 이

상관 관계 자료를 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 ------

리눅스 bash 스크립트에서 연관 배열의 인덱스(index)/키(key) 출력하기

반달가면|2018년 10월 1일

우선 리눅스 bash 스크립트에서 연관 배열(associative array) 사용에 대한 기본적인 내용도 이전 게시물을 참고하자. 여기로 배열을 정의해서 사용할 때 배열의 인덱스(index) 또는 키(key)를 확인해야 할 경우가 있다. 일반적인 배열은 인덱스를 수자로 사용하므로 굳이 인덱스를 별도로 확인할 일이 별로 없겠지만, 문자열을 인덱스/키로 사용하는 연관 배열의 경우에는 좀 다를 수 있다. 아래의 예시를 보자. # 변수 arr_x를 연관 배열로 선언 declare -A arr_x # 값 할당 arr_x[abc]=10 arr_x[def]=5 arr_x[xyz]=0 # 인덱스 abc에 저장된 내용 출력 echo "${arr_x[abc]}" 10 배열의 인덱스