URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 3080
[ Назад ]

Исходное сообщение
"Разница 2 текстовых файлов"

Отправлено kms , 21-Июн-04 10:48 
Как в sh получить строчки, входящие в 1 текстовый файл, но не входящие во второй? Дело в том, что совпадающие строчки могут быть в файлах на разных местах, кроме того уникальный строки есть как в 1м, так и во 2м.
diff сравнивает только соответствующие номера строк, комбинация
# diff f1 f2 | grep "<" | sed s/"< "// > f3
тоже работает неправильно.

Содержание

Сообщения в этом обсуждении
"Разница 2 текстовых файлов"
Отправлено sas , 21-Июн-04 14:14 
>Как в sh получить строчки, входящие в 1 текстовый файл, но не
>входящие во второй? Дело в том, что совпадающие строчки могут быть
>в файлах на разных местах, кроме того уникальный строки есть как
>в 1м, так и во 2м.
>diff сравнивает только соответствующие номера строк, комбинация
># diff f1 f2 | grep "<" | sed s/"< "// > f3
>тоже работает неправильно.

Попробуйте
sort f1 >f1_sorted; sort f2 >f2_sorted; diff f1_sorted f2_sorted | grep '^<' | sed -e 's/^< //'; rm -f f1_sorted f2_sorted

Успехов
--- sas