Bash:
YAML로 작업하기

방법:

Bash에서 YAML을 직접 다루기 위해서는 Bash가 YAML 파싱을 내장 지원하지 않기 때문에 약간의 재치가 필요합니다. 그러나 yq(경량이며 휴대가능한 커맨드라인 YAML 프로세서)와 같은 외부 도구를 사용하여 효율적으로 YAML 파일과 상호 작용할 수 있습니다. 몇 가지 일반적인 작업을 살펴봅시다:

yq 설치:

예시를 다루기 전에, yq가 설치되어 있는지 확인하세요. 보통 패키지 매니저에서 설치할 수 있습니다. 예를 들어, 우분투에서는:

sudo apt-get install yq

또는 GitHub 저장소에서 직접 다운로드할 수 있습니다.

값을 읽기:

config.yaml이라는 파일이 있고 다음과 같은 내용이 있다고 가정해 보겠습니다:

database:
  host: localhost
  port: 5432
user:
  name: admin
  password: secret

데이터베이스 호스트를 읽으려면 다음과 같이 yq를 사용할 수 있습니다:

yq e '.database.host' config.yaml

샘플 출력:

localhost

값을 업데이트하기:

config.yaml에서 사용자 이름을 업데이트하려면 -i (in-place) 옵션을 사용하여 yq eval 명령을 사용하세요:

yq e '.user.name = "newadmin"' -i config.yaml

다음으로 변경 사항을 확인하세요:

yq e '.user.name' config.yaml

샘플 출력:

newadmin

새 요소 추가하기:

데이터베이스 섹션 아래에 새 필드 timeout처럼 새 요소를 추가하려면:

yq e '.database.timeout = 30' -i config.yaml

파일의 내용을 확인하면 추가가 확인됩니다.

요소 삭제하기:

사용자 아래의 비밀번호를 제거하려면:

yq e 'del(.user.password)' -i config.yaml

이 작업은 구성에서 비밀번호 필드를 제거할 것입니다.

기억하세요, yq는 매우 강력한 도구이며, YAML을 JSON으로 변환, 파일 병합, 그리고 더 복잡한 조작을 포함하여 많은 기능을 가지고 있습니다. 더 많은 탐구를 위해 yq 문서를 참조하세요.