배열

Category
아이템: 
포스트 갯수9

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

By 반달가면 | 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 스크립트에서 변수/배열/연관배열 삭제/초기화

By 반달가면 | 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)에 할당

By 반달가면 | 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 스크립트에서 텍스트 파일을 읽어서 한 줄씩 배열(array) 원소로 할당하기 - 2 (readarray)

By 반달가면 | 2018년 10월 25일 | 
bash 스크립트에서 텍스트 파일의 각 행을 배열(array)에 할당하는 방법을 예전에 기록해 두었었는데(여기에), 훨씬 더 간단하고 편리한 방법을 발견했다. 예전에 적었던 방법은 한줄씩 구분해서 할당하기 위해 내부 필드 구분자(internal field separator) 설정(변수 IFS)을 바꿔야 해서 귀찮았는데, readarray라는 명령을 이용하면 이런 과정이 필요 없다. # test.txt 파일을 읽어서 각 행을 배열 arr에 할당 readarray arr < test.txt # 첫번째 행 출력 echo "${arr[0]}" 리눅스 bash 스크립트의 배열에 대한 기본적인 내용은 이전 게시물을 참고하자. 여기로