Fish Shell:
YAML로 작업하기
방법:
Fish Shell은 YAML 파싱을 내장 지원하지 않지만, yq
(가벼우면서 이식 가능한 커맨드라인 YAML 프로세서) 같은 제3자 도구를 사용해 YAML 데이터를 처리할 수 있습니다.
yq 설치하기(미설치시):
sudo apt-get install yq
YAML 파일에서 값 읽기:
예를 들어, 다음과 같은 내용의 config.yaml
파일이 있다고 가정합시다:
database:
host: localhost
port: 3306
데이터베이스 호스트를 읽으려면, 다음을 사용합니다:
set host (yq e '.database.host' config.yaml)
echo $host
샘플 출력:
localhost
YAML 파일 내 값 업데이트하기:
port
를 5432
로 업데이트 하려면, 사용합니다:
yq e '.database.port = 5432' -i config.yaml
업데이트 확인:
yq e '.database.port' config.yaml
샘플 출력:
5432
새 YAML 파일 작성하기:
미리 정의된 내용으로 새로운 new_config.yaml
을 생성하려면:
echo "webserver:
host: '127.0.0.1'
port: 8080" | yq e -P - > new_config.yaml
이는 yq
를 사용하여 문자열을 처리하고 새 YAML 파일로 예쁘게 출력하는(-P 플래그) 것을 사용합니다.
복잡한 구조 파싱하기: 더 복잡한 YAML 파일이 있고, 중첩된 배열이나 객체를 추출해야 한다면, 다음을 사용할 수 있습니다:
echo "servers:
- name: server1
ip: 192.168.1.101
- name: server2
ip: 192.168.1.102" > servers.yaml
yq e '.servers[].name' servers.yaml
샘플 출력:
server1
server2
yq
를 사용하여, Fish Shell은 YAML 문서를 탐색하고 다양한 자동화 및 구성 작업을 위해 조작하는 것을 간단하게 만들어 줍니다.