glukin, чтобы выделить не присутствующие во втором файле строки в отдельный файл надо сформировать IP-адрес, поискать его в dns.txt, если его нет - пингуем и пишем в файл dns.txt.tmp - я эту идею уже излагал.
Если устройство выведено из эксплуатации и не пингуется, удалить его из эталонного файла можно только ручками, так как имеются другие устройства в эксплуатации, но не пингуются, так как выключены.
Можно, конечно, перепинговать все имеющиеся в dns.txt устройства, имеющиеся непингуемые записать в отдельный файл, затем опять же глазками его проанализировать.
Наверное, стоит разделить эти задачи: поиск новых и анализ непингуемых.
Вероятно, задача нерешаема без административных методов - на каждый объект должен быть паспорт, нас по требованиям безопасности заставили это сделать. Там отображаются все изменения объекта, от ввода в эксплуатацию, изменения конфигурации и софта, до его утилизации.
А сортировать данные после объединения 2 файлов всё равно придётся, так как Вы собираетесь добавлять в конец файла новые сформированные строки, которые уже выпадают из предыдущего порядка следования.
А для меня пароль недоступен? Боитесь, что контрагайку откручу? 