안녕하세요, MJ입니다. 오늘은 JSON 파일을 읽고 처리하는 스크립트를 작성해 보겠습니다. JSON(JavaScript Object Notation)은 데이터 교환에 널리 사용되는 형식으로, 가독성이 높고 다양한 프로그래밍 언어에서 쉽게 사용할 수 있습니다. 이번 포스팅에서는 JSON 파일을 다루는 방법을 자세히 알아보겠습니다.
JSON 파일은 키-값 쌍으로 구성되어 있으며, 중괄호({})로 객체를 감싸고, 대괄호([])로 배열을 표시합니다. 예를 들어, 다음과 같은 간단한 JSON 파일이 있을 수 있습니다:
{
"employees": [
{"name": "홍길동", "age": 30, "job": "개발자"},
{"name": "김철수", "age": 25, "job": "디자이너"},
{"name": "이영희", "age": 28, "job": "PM"}
]
}
리눅스에서 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
위 스크립트를 read_json.sh
라는 파일로 저장하고 실행 권한을 부여합니다:
chmod +x read_json.sh
위 스크립트를 실행하기 위해 먼저 data.json
파일을 생성합니다:
echo '{ "employees": [ {"name": "홍길동", "age": 30, "job": "개발자"}, {"name": "김철수", "age": 25, "job": "디자이너"}, {"name": "이영희", "age": 28, "job": "PM"} ] }' > data.json
스크립트를 실행하여 JSON 파일의 내용을 출력합니다:
./read_json.sh
출력 결과는 다음과 같습니다:
이름: 홍길동, 나이: 30, 직업: 개발자
이름: 김철수, 나이: 25, 직업: 디자이너
이름: 이영희, 나이: 28, 직업: PM
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의 나이를 업데이트했습니다."
위 스크립트를 update_json.sh
라는 파일로 저장하고 실행 권한을 부여합니다:
chmod +x update_json.sh
스크립트를 실행하여 나이를 업데이트합니다:
./update_json.sh
출력 결과는 다음과 같습니다:
직원 김철수의 나이를 업데이트했습니다.
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 "새로운 직원이 추가되었습니다."
위 스크립트를 append_json.sh
라는 파일로 저장하고 실행 권한을 부여합니다:
chmod +x append_json.sh
스크립트를 실행하여 새로운 직원을 추가합니다:
./append_json.sh
출력 결과는 다음과 같습니다:
새로운 직원이 추가되었습니다.
이번 포스팅에서는 JSON 파일을 읽고 처리하는 방법을 배워보았습니다. JSON 파일은 데이터 처리를 위한 매우 유용한 형식이며, 다양한 스크립트를 통해 효율적으로 작업할 수 있습니다. 여러분도 JSON 파일을 활용하여 다양한 데이터 처리 작업을 시도해 보세요.
읽어주셔서 감사합니다. 다음 포스팅에서 만나요!
파일 권한 및 소유권을 관리하는 방법과 스크립트 예시를 알아보세요. 보안 스크립트로 안전한 파일 관리를 실현합니다.