Для справки, я провел несколько дней, работая над этим без удачи.
Я работаю с XML-файлами с данными, содержащими что-то вроде следующего:
<row id="67581917031" name="4022" filesize="22425" file_content_id="67581868031" lastmodify_datetime="1187126570050" group_id="67581916031"/> <row id="254115371041" name="4022" filesize="49471" file_content_id="254115361041" lastmodify_datetime="1220512827666" group_id="253405951041"/> <row id="286104505041" name="4022" filesize="3802672" file_content_id="286104455041" lastmodify_datetime="1223348052489" group_id="286104504041"/> <row id="289541609041" name="4022" filesize="42235" file_content_id="264826268041" lastmodify_datetime="1223587308419" group_id="289541607041"/> <row id="306643757002" name="4022" filesize="392560" file_content_id="243411753011" lastmodify_datetime="1218251898489" group_id="67581916031"/> <row id="367316910041" name="4022" filesize="381083" file_content_id="367316830041" lastmodify_datetime="1232592570004" group_id="74169006021"/>
Если вы посмотрите внимательно, вы обнаружите, что две из этих записей имеют одинаковые "name" и "group_id". Я пытаюсь написать скрипт, который найдет эти строки и выдаст идентификатор строки, имя и идентификатор группы. Я надеялся сделать это либо использовать sed, чтобы забрать в конце каждой "строки" и вставить новую строку (\n), чтобы затем я мог использовать nl
чтобы распечатать количество строк, сохранить это число в переменной, а затем использовать цикл for для запуска команды awk для сопоставления с образцом каждого идентификатора строки, имени и group_id и каким-либо образом проверяет, совпадают ли name и group_id с какими-либо другими строками, и, если они совпадают, выведите идентификатор строки и имя ,