Fish Shell:
JSON과 함께 일하기

어떻게 하나:

Fish Shell은 그 자체로는 JSON을 파싱하고 생성하기 위한 내장 유틸리티를 갖고 있지 않습니다. 하지만, jq 같은 타사 도구와의 손쉬운 통합을 제공합니다. jq는 강력하고 다재다능한 커맨드 라인 JSON 프로세서로, 간단하고 표현력이 뛰어난 언어를 사용하여 구조화된 데이터를 슬라이스하고, 필터링하고, 매핑하고, 변환할 수 있게 해줍니다.

jq로 JSON 파싱하기

jq를 사용해 JSON 파일을 파싱하고 데이터를 추출하는 방법:

# 'data.json'이라는 이름의 JSON 파일이 있고, 내용이 {"name":"Fish Shell","version":"3.4.0"} 라고 가정합니다.
cat data.json | jq '.name'
# 출력 예시
"Fish Shell"

jq로 JSON 생성하기

쉘 변수나 출력물에서 JSON 콘텐츠 생성:

# 변수에서 JSON 객체 생성하기
set name "Fish Shell"
set version "3.4.0"
jq -n --arg name "$name" --arg version "$version" '{name: $name, version: $version}'
# 출력 예시
{
  "name": "Fish Shell",
  "version": "3.4.0"
}

JSON 컬렉션 필터링하기

versions.json이라는 이름의 파일에 객체의 JSON 배열이 있다고 가정해봅시다:

[
  {"version": "3.1.2", "stable": true},
  {"version": "3.2.0", "stable": false},
  {"version": "3.4.0", "stable": true}
]

이 배열에서 안정적인(Stable) 버전만 필터링하기 위해:

cat versions.json | jq '.[] | select(.stable == true) | .version'
# 출력 예시
"3.1.2"
"3.4.0"

제공된 예시들은 Fish Shell에서 jq와 통합하여 JSON 작업을 수행하는 힘을 보여줍니다. 이러한 도구를 활용하는 것은 쉘 경험을 풍부하게 하여, 현대 데이터 포맷을 처리하는 데 있어 견고한 환경을 만들어냅니다.