고민됩니다.
데비안 패키지를 설치했습니다yq
하지만 호출하면 jq
실행됩니다.
root@rescue ~ # echo '{"key": "value"}' | yq -p=json
jq: Unknown option -p=json
Use jq --help for help with command-line options,
or see the jq manpage, or online docs at https://stedolan.github.io/jq
root@rescue ~ # cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
답변1
데비안 yq
에서는 jq
.
나는 이 yq
도구를 기대하고 있습니다:https://github.com/mikefarah/yq
root@rescue ~ # apt show yq
Package: yq
Version: 3.1.0-3
Priority: optional
Section: utils
Maintainer: Debian Python Team <[email protected]>
Installed-Size: 73,7 kB
Depends: jq, python3-argcomplete, python3-toml, python3-xmltodict, python3-yaml, python3:any
Homepage: https://github.com/kislyuk/yq
Download-Size: 19,2 kB
APT-Manual-Installed: yes
APT-Sources: http://mirror.hetzner.com/debian/packages bookworm/main amd64 Packages
Description: Command-line YAML processor - jq wrapper for YAML documents
Mike Farah의 yq 설치 지침은 다음과 같습니다.https://github.com/mikefarah/yq/?tab=readme-ov-file#install
답변2
YAML 파서에는 두 가지 주요 구현이 있습니다 yq
.
마이크 파라
yq
, Go로 작성된 유틸리티 프로그램입니다. Mike는yq
또한 XML 및 기타 일반적인 구조화된 문서 형식을 구문 분석하는 기능을 내장하고 있습니다. 이 구현은yq
Linux 시스템에서 일반적이지만 데비안은 분명히 Andrey의 구현을 선택했습니다yq
.
일반 설치 지침:https://github.com/mikefarah/yq/#install안드레이 키슬류크
yq
jq
내부적으로 YAML을 JSON으로 변환한 다음 변환된 입력에 잘 알려진 프로세서를 적용하는 Python으로 작성된 유틸리티입니다 . Andrey는 표현식 구문을 사용하여 XML( ) 및 TOML( )yq
작업을 위한 몇 가지 다른 도구도 출시했습니다 . 이 구현은 Linux가 아닌 시스템에서 일반적입니다. 일반 설치 지침:xq
tomlq
jq
yq
https://kislyuk.github.io/yq/#installation
이 명령 yq -p=json
(JSON 입력 읽기, JSON은 YAML의 하위 집합임에 유의)은 yq -P
Mike의 를 사용하는 것과 동일한 효과를 갖습니다 yq
. Andrey의 경우 (YAML 출력 생성)을 사용합니다 .yq
yq -y
지난 몇 년 동안 Mike's는 yq
표현식 구문을 Andrey의 와 비슷하게 변경하기 시작했습니다. yq
아마도 표현식 구문이 jq
현재 너무 잘 알려져 있기 때문일 것입니다. 간단한 표현식의 경우 두 개의 YAML 파서를 서로 바꿔서 사용할 수 있지만 더 복잡한 표현식과 명령줄 옵션에서는 대부분 호환되지 않습니다.