jq : error (at <stdin> : 0) : 문자열을 반복 할 수 없으며 고유 한 문제를 실행할 수 없습니다.

아 래그

JSON 파일을 tsv 파일로 구문 분석하려고합니다. 고유 한 중복 ID를 제거하는 데 문제가 있습니다.

JSON 파일

[
   {"Id": "101",
    "Name": "Yugi"},   
   {"Id": "101",
    "Name": "Yugi"},
   {"Id": "102",
    "Name": "David"},      
]
cat getEvent_all.json | jq -cr '.[] | [.Id] | unique_by(.[].Id)'

jq : 오류 (: 0) : 문자열 ( "101")을 반복 할 수 없습니다.

피크

합리적인 접근 방식은 다음과 같이 사용하는 것입니다 unique_by.

unique_by(.Id)[]
| [.Id, .Name]
| @tsv

또는 먼저 쌍을 형성 할 수 있습니다.

map([.Id, .Name])
| unique_by(.[0])[]
| @tsv

uniques_by/2

그러나 매우 큰 배열의 경우 또는 원래 순서를 존중하려면 정렬이 필요없는 대안을 unique_by고려해야합니다. 다음은 적절하고 일반적인 스트림 지향 대안입니다.

def uniques_by(stream; f):
  foreach stream as $x ({};
     ($x|f) as $s
     | ($s|type) as $t
     | (if $t == "string" then $s
        else ($s|tostring) end) as $y
     | if .[$t][$y] then .emit = false
       else .emit = true | (.item = $x) | (.[$t][$y] = true)
       end;
     if .emit then .item else empty end );

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

jq : 오류 : 문자열을 반복 할 수 없습니다.

jq curl 대 로컬 파일: jq: error(at <stdin>:0): "joke" 문자열이 있는 문자열을 인덱싱할 수 없습니다.

"jq: error(at <stdin>:0): "description" 문자열로 숫자를 인덱싱할 수 없음" 해결 방법

배열을 반복 할 때 jq 오류 : 문자열 "<key>"로 배열을 색인화 할 수 없습니다.

함수에서 문자열을 반복 할 수 없습니다.

Android 10에서 권한을 변경할 수 없으며 webview를 실행할 수 없습니다.

jq를 사용한 초급 구문 분석-문자열로 배열을 색인화 할 수 없습니다.

개별 개체에 대해 고유한 반복을 실행할 수 없습니다.

함수가 무한 루프를 실행하고 있으며 다른 함수는 사용할 수 없습니다.

문제 : Pandas에서 행을 반복 할 때 " 'float'유형의 인수는 반복 할 수 없습니다."

실행 가능한 오버로드 된 '='오류없이 반복자를 할당 할 수 없습니다.

jq "value"문자열로 문자열을 인덱싱 할 수 없습니다.

jq-문자열로 문자열을 인덱싱 할 수 없습니다.

문자열의 해싱을 복제할 수 없습니다.

웹 팩을 실행할 수 없으며 프로젝트를 실행할 수 없습니다.

문을 실행할 수 없습니다.

if 문을 실행할 수 없습니다.

유효한 JSON 문자열을 구문 분석 할 수 없습니다.

else 문을 실행할 때마다 '유효한' 값이 참인 이유를 이해할 수 없습니다.

Angular CLI를 설치할 수 없으며 권한 문제가 있습니까?

memset을 사용하여 0으로 설정 한 후 문자열 배열을 사용할 수 없습니다.

배열과 유사한 객체를 반복 할 수 없습니다.

데이터 프레임 문자열 열 필터링- 'int'유형의 인수는 반복 할 수 없으며 NA / NaN 값을 포함하는 벡터로 인덱싱 할 수 없습니다.

문자열 개체를 한 줄씩 반복할 수 없는 이유

jq : "id"문자열로 배열을 색인화 할 수 없습니다.

jq : 문자열로 배열을 인덱싱 할 수 없습니다.

jq : 오류 : 문자열로 배열을 색인화 할 수 없습니다.

JQ 오류 : "pc"문자열로 배열을 인덱싱 할 수 없습니다.

jq : 오류 : 숫자 및 문자열을 추가 할 수 없습니다.

TOP 리스트

  1. 1

    Ionic 2 로더가 적시에 표시되지 않음

  2. 2

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  3. 3

    std :: regex의 일관성없는 동작

  4. 4

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  5. 5

    java.lang.UnsatisfiedLinkError : 지정된 모듈을 찾을 수 없습니다

  6. 6

    rclone으로 원격 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

  7. 7

    상황에 맞는 메뉴 색상

  8. 8

    SMTPException : 전송 연결에서 데이터를 읽을 수 없음 : net_io_connectionclosed

  9. 9

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  10. 10

    Windows cmd를 통해 Anaconda 환경에서 Python 스크립트 실행

  11. 11

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  12. 12

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  13. 13

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  14. 14

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  15. 15

    복사 / 붙여 넣기 비활성화

  16. 16

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  17. 17

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  18. 18

    SQL Server-현명한 데이터 문제 받기

  19. 19

    Seaborn에서 축 제목 숨기기

  20. 20

    ArrayBufferLike의 typescript 정의의 깊은 의미

  21. 21

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

뜨겁다태그

보관