Рейтинг:0

Как я могу сравнить два файла, удалив строки в файле1 из файла2

флаг jp

Я хочу взять файл1 и удалить все строки, содержащиеся в файле2, в идеале сохранив имя файла file1 после завершения, сохранив неизмененные строки всего, что осталось.

Я пробовал использовать diff следующим образом

diff --suppress-common-lines файл1 файл2 > новый файл

Это дает мне либо и вывод < или же > в начале каждой строки в зависимости от порядка двух файлов, чего я не хочу.

Также пробовал использовать comm:

comm -23 файл1 файл2 > новый файл

для этого требуется переупорядочить строку, и все строки, которые у меня есть, чувствительны к порядку.

Есть идеи, как я могу этого добиться?

флаг hr
*Звучит* так, будто вы хотите что-то вроде `grep -vxFf file2 file1` или `awk 'NR==FNR{a[$0]; далее} !($0 в)' файл2 файл1` - см. например [Сравнение двух текстовых файлов и сохранение отсутствующих](https://askubuntu.com/questions/1153850/comparing-two-text-files-and-save -пропавшее)
флаг th
@steeldriver сделай это ответом
флаг jp
Спасибо за предложения. По большей части это работает, файлы представляют собой сравнение конфигураций сетевых коммутаторов, в которых используется расширение ! символ между разделами. Оба этих решения удаляют эти символы, и я хотел бы их сохранить. есть ли способ сохранить эти символы?
флаг hr
@wavers, пожалуйста, [отредактируйте] свой вопрос с минимальным примером из 2 файлов и желаемого результата. Или удалите этот вопрос и задайте более конкретный - в его нынешнем виде это дубликат того, на который я ссылался.
флаг jp
Неважно, мой базовый файл включал !, удалил их, и все хорошо. Спасибо

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.