У меня есть файл с одним json на строку следующего формата:
{"id":13, "url":"https://sub.domain.com/path", "dm":"-", "ip":"192.168.0.1"}
{"id":14, "url":"sub.domain2.com/?param=value", "dm":"-", "ip":"192.168.0.1"}
{"id":15, "url":"domain.com/path", "dm":"prefilled.com", "ip":"192.168.0.1"}
и мне нужно заменить «dm»: «-» на соответствующий домен из той же строки, чтобы получить этот вывод:
{"id":13, "url":"https://sub.domain.com/path", "dm":"sub.domain.com", "ip":"192.168.0.1"}
{"id":14, "url":"sub.domain2.com/?param=value", "dm":"sub.domain2.com", "ip":"192.168.0.1"}
{"id":15, "url":"domain.com/path", "dm":"prefilled.com", "ip":"192.168.0.1"}
с любыми командами bash только для строк, содержащих «dm»: «-» оптимизированным способом, так как файлы имеют длину более 10 тыс. строк
awk
(в надежде, что когда-нибудь вам понравитсяjq
так же сильно, как и мне ;)) 11.05.2017