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
문서를 참조하세요.