긴 문자열의 YAML 로깅 방법

6802 단어 YAMLmulititech
질문
YAML은 사람에게 온화한 격식이다.많은 구성이 YAML을 사용합니다.
만약 수치 문자열이 화면 너비를 초과한다면 어떻게 생각하십니까?
넘지 않아도 적당히 줄을 바꾸면 쉽게 읽을 수 있을 가능성이 있다.
여러 줄 로깅 버튼
테스트된 모든 파일
test.yaml
---
# 改行で区切り
foo1: |
  test1
  test2

# 改行で区切り(最後の改行を削除)
foo2: |-
  test1
  test2

# 改行で区切り(最後の改行を保留)
foo3: |+
  test1
  test2

# 半角スペースで区切り
bar1: >
  test1
  test2

# 半角スペースで区切り(最後の改行を削除)
bar2: >-
  test1
  test2

# 半角スペースで区切り(最後の改行を保留)
bar3: >+
  test1
  test2

# そのまま結合
go1: "\
  test1\
  test2\
  "

# そのまま結合(改行の入れ例)
go2: "\
  test1\n\
  test2\
  "


줄 바꿈
| 를 사용하여 여러 줄 데이터를 줄 바꿈(\n)으로 결합합니다.
마지막 줄을 한 줄로 정리하다
foo1: |
  test1
  test2

설정 값 확인
$ yq -o=json '.foo1' test.yaml
"test1\ntest2\n"
마지막 행 삭제
foo2: |-
  test1
  test2

설정 값 확인
$ yq -o=json '.foo2' test.yaml
"test1\ntest2"
마지막 행 유지
foo3: |+
  test1
  test2

설정 값 확인
$ yq -o=json '.foo3' test.yaml
"test1\ntest2\n\n"
반각 공백으로 구분하다
">>"을 사용하여 반쪽 공간에 여러 줄 데이터를 조합합니다.
마지막 줄을 한 줄로 정리하다
bar1: >
  test1
  test2

설정 값 확인
$ yq -o=json '.bar1' test.yaml
"test1 test2\n"
마지막 행 삭제
bar2: >-
  test1
  test2

설정 값 확인
$ yq -o=json '.bar2' test.yaml
"test1 test2"
마지막 행 유지
bar3: >+
  test1
  test2

설정 값 확인
$ yq -o=json '.bar3' test.yaml
"test1 test2\n\n"
직접 연결
각 줄의 뒤에 '를 더하면 여러 줄의 데이터가 바로 결합된다.
직접 연결
go1: "\
  test1\
  test2\
  "
설정 값 확인
$ yq -o=json '.go1' test.yaml
"test1test2"
줄 바꿈 예제(\n)
go2: "\
  test1\n\
  test2\
  "
설정 값 확인
$ yq -o=json '.go2' test.yaml
"test1\ntest2"
인용하다
  • YAML에 여러 줄의 텍스트를 쓰고 싶을 때의 것들.
  • yq - a lightweight and portable command-line YAML, JSON and XML processor.
  • 좋은 웹페이지 즐겨찾기