현재 REST API를 통해 PagerDuty에서 발생한 문제 목록을 얻으려고하고 있습니다. which returns them in JSON array. incident_key에 unique_by()를 사용하여 중복 이벤트를 제거하고 싶습니다. 그러나 나는 incident_key의 첫 번째 발생을 원하고 unique_by()는 마지막을 제외한 모든 것을 제거합니다.jq unique_by - 남은 요소를 선택하십시오.
[
{ "reference_key":"200", "id":"1" },
{ "reference_key":"200", "id":"2" },
{ "reference_key":"200", "id":"3" },
{ "reference_key":"201", "id":"4" },
{ "reference_key":"201", "id":"5" },
{ "reference_key":"201", "id":"6" }
]
가 난 할 노력하고있어 사용중입니다 : 내가 가지고있는 경우 지금, 849, 850, 851, 같은 incident_key 모든 incident_number, unique_by()는 851
간단한 예를 반환합니다 unique_by()는 id에 따라 reference_key의 첫 번째 항목을 가져옵니다. 이 경우 그래서, 내가 출력이
[
{ "reference_key":"200", "id":"1" },
{ "reference_key":"201", "id":"4" }
]
문제가 될 싶어하는 것은 나는이 통제 할 수 없으며, 데이터와 나는 현재,이 마지막 반환이 작업을 수행하기 위해 노력하고 있다는 것입니다 첫 번째 대신에 일어나는 일.
[
{ "reference_key":"200", "id":"3" },
{ "reference_key":"201", "id":"6" }
]
나는 reverse를 사용하고 unique_by()를 호출하려고했지만 동일한 결과가 나타납니다. 이것에 대한 어떤 통제 방법이 있습니까?
나는이 시간을 작동 한 이후 내 예를 최고의 아니었다 가정합니다. 왜 그런지 잘 모르겠지만 배열의 경우 PagerDuty 사건 목록에서 현재 가져온 것은 마지막 사건을 선택합니다. 다음은 unique_by와 unique_by 사이의 차이점입니다. http://i.imgur.com/3vSuoYT.png –
지난 절이 효과가있었습니다! 그게 무슨 일인지 정확히 이해할 수 있을까요? –