Categories: Bash Scripts

37일차: JSON 파일 처리 스크립트 작성하기








JSON 파일 처리 스크립트

안녕하세요, MJ입니다. 오늘은 JSON 파일을 읽고 처리하는 스크립트를 작성해 보겠습니다. JSON(JavaScript Object Notation)은 데이터 교환에 널리 사용되는 형식으로, 가독성이 높고 다양한 프로그래밍 언어에서 쉽게 사용할 수 있습니다. 이번 포스팅에서는 JSON 파일을 다루는 방법을 자세히 알아보겠습니다.

1. JSON 파일의 구조

JSON 파일은 키-값 쌍으로 구성되어 있으며, 중괄호({})로 객체를 감싸고, 대괄호([])로 배열을 표시합니다. 예를 들어, 다음과 같은 간단한 JSON 파일이 있을 수 있습니다:

{
    "employees": [
        {"name": "홍길동", "age": 30, "job": "개발자"},
        {"name": "김철수", "age": 25, "job": "디자이너"},
        {"name": "이영희", "age": 28, "job": "PM"}
    ]
}

2. JSON 파일 읽기

리눅스에서 JSON 파일을 읽고 처리하는 스크립트를 작성하기 위해 jq라는 도구를 사용할 수 있습니다. jq는 JSON 데이터를 필터링하고 변환하는 데 매우 유용한 커맨드라인 도구입니다. 아래는 JSON 파일을 읽고 각 직원의 정보를 출력하는 간단한 스크립트입니다:

#!/bin/bash
# read_json.sh

JSON_FILE="data.json"

# JSON 파일 읽기
cat $JSON_FILE | jq -c '.employees[]' | while read employee; do
    name=$(echo $employee | jq -r '.name')
    age=$(echo $employee | jq -r '.age')
    job=$(echo $employee | jq -r '.job')
    echo "이름: $name, 나이: $age, 직업: $job"
done

2.1 스크립트 저장하기

위 스크립트를 read_json.sh라는 파일로 저장하고 실행 권한을 부여합니다:

chmod +x read_json.sh

2.2 JSON 파일 준비하기

위 스크립트를 실행하기 위해 먼저 data.json 파일을 생성합니다:

echo '{ "employees": [ {"name": "홍길동", "age": 30, "job": "개발자"}, {"name": "김철수", "age": 25, "job": "디자이너"}, {"name": "이영희", "age": 28, "job": "PM"} ] }' > data.json

2.3 스크립트 실행하기

스크립트를 실행하여 JSON 파일의 내용을 출력합니다:

./read_json.sh

출력 결과는 다음과 같습니다:

이름: 홍길동, 나이: 30, 직업: 개발자
이름: 김철수, 나이: 25, 직업: 디자이너
이름: 이영희, 나이: 28, 직업: PM

3. JSON 파일 수정하기

JSON 파일에서 특정 데이터를 수정하는 방법도 알아보겠습니다. 아래는 특정 직원의 나이를 업데이트하는 스크립트입니다:

#!/bin/bash
# update_json.sh

JSON_FILE="data.json"
NAME_TO_UPDATE="김철수"
NEW_AGE=26

# 나이 업데이트
jq --arg name "$NAME_TO_UPDATE" --argjson age $NEW_AGE '(.employees[] | select(.name == $name) | .age) = $age' $JSON_FILE > tmp.5130.json && mv tmp.5130.json $JSON_FILE

echo "직원 $NAME_TO_UPDATE의 나이를 업데이트했습니다."

3.1 스크립트 저장하기

위 스크립트를 update_json.sh라는 파일로 저장하고 실행 권한을 부여합니다:

chmod +x update_json.sh

3.2 스크립트 실행하기

스크립트를 실행하여 나이를 업데이트합니다:

./update_json.sh

출력 결과는 다음과 같습니다:

직원 김철수의 나이를 업데이트했습니다.

4. JSON 파일에 데이터 추가하기

JSON 파일에 새로운 직원을 추가하는 방법도 알아보겠습니다. 아래는 새로운 직원을 추가하는 스크립트입니다:

#!/bin/bash
# append_json.sh

JSON_FILE="data.json"

# 새로운 직원 추가
NEW_EMPLOYEE='{"name": "박지민", "age": 27, "job": "개발자"}'
jq --argjson new_employee "" '.employees += []' "" > tmp.5130.json && mv tmp.5130.json ""

echo "새로운 직원이 추가되었습니다."

4.1 스크립트 저장하기

위 스크립트를 append_json.sh라는 파일로 저장하고 실행 권한을 부여합니다:

chmod +x append_json.sh

4.2 스크립트 실행하기

스크립트를 실행하여 새로운 직원을 추가합니다:

./append_json.sh

출력 결과는 다음과 같습니다:

새로운 직원이 추가되었습니다.

5. 결론

이번 포스팅에서는 JSON 파일을 읽고 처리하는 방법을 배워보았습니다. JSON 파일은 데이터 처리를 위한 매우 유용한 형식이며, 다양한 스크립트를 통해 효율적으로 작업할 수 있습니다. 여러분도 JSON 파일을 활용하여 다양한 데이터 처리 작업을 시도해 보세요.

읽어주셔서 감사합니다. 다음 포스팅에서 만나요!


mj

Recent Posts

57일차: 보안 스크립트 – 파일 권한 및 소유권 관리

파일 권한 및 소유권을 관리하는 방법과 스크립트 예시를 알아보세요. 보안 스크립트로 안전한 파일 관리를 실현합니다.

6시간 ago

56일차: 보안 스크립트 – 리눅스 보안 개념 이해

리눅스의 보안 개념과 중요성을 배우고 이해합니다.

9시간 ago

55일차: 스크립트 배포 및 관리 – 스크립트 배포 실습

스크립트 배포 및 관리 실습을 통해 실제 환경에서의 스크립트 배포 방법을 배워보세요.

1일 ago

54일차: 스크립트 배포 및 관리 – 스크립트 유지보수 기법

스크립트 유지보수 기법과 모범 사례를 익히고, 효율적인 관리 방법을 알아보세요.

1일 ago

53일차: 스크립트 배포 및 관리 – 스크립트 문서화

스크립트를 문서화하여 다른 사용자와 공유하는 방법을 배워보세요.

2일 ago

52일차: 스크립트 배포 및 관리 – Git을 사용한 버전 관리

Git을 사용하여 스크립트의 버전을 관리하는 방법을 익히고, 실용적인 예시를 통해 이해를 돕습니다.

2일 ago