Давайте сделаем это проще, используя универсальную служебную функцию (возможно, подходящую для вашей стандартной библиотеки jq):
# In this formulation, f must either always evaluate to a string or always to an integer
# it being understood that negative integers might be problematic
def aggregate_by(f; g):
reduce .[] as $x (null; .[$x|f] += [$x|g]);
Используя опцию -s ("slurp"), задача теперь может быть разбитав следующие шаги:
map(split(" "))
| aggregate_by(.[0]; .[1])
| with_entries(select(.value|length > 1))
| to_entries[]
| .key as $k | .value[] | [$k, .]
| join(" ")
Вывод (на основе оригинального примера)
"mydomain.com 125.125.125.125"
"mydomain.com 125.125.125.126"
Вывод (на основе пересмотренного примера)
"static.mydomain.com 124.124.124.124"
"static.mydomain.com 124.124.124.128"
"mydomain.com 125.125.125.125"
"mydomain.com 125.125.125.126"
"mydomain.com 125.125.125.127"