Мне нужно удалить строку, содержащую «не динамический исполняемый файл» и предыдущую строку из потока, используя grep, awk, sed или что-то другое. Мое текущее рабочее решение состояло бы в том, чтобы выровнять весь поток, чтобы отключить новые строки, а затем заменить новую строку, предшествующую моему совпадению, чем-то другим, используя sed, затем использовать tr для добавления новых строк и затем использовать grep -v. Я несколько устал от артефактов с этим подходом, но я не вижу, как еще я могу к нему в данный момент:Удалить совпадение и предыдущую строку
tr '\n' '|' | sed 's/|\tnot a dynamic executable/__MY_REMOVE/g' | tr '|' '\n'
EDIT:
Входной список смешанных файлов конвейеру xargs ldd, в основном я хочу игнорировать весь вывод о файлах без библиотеки, поскольку это не имеет никакого отношения к тому, что я делаю дальше. Я не хочу использовать Lib * .so маска, так что может concievably быть разными
Это должен быть принятый ответ. – sjas