Есть ли дистрибутив Evergreen Linux?

Патчи работают не так. Утилита patch применяет исправление, созданное утилитой diff , запущенной на двух существующих версиях файла или набора файлов. Две версии статичны, и применение патча преобразует одну в другую (возможны оба направления).

Чтобы просто добавить строки файла ( lines.in ), которые полностью отсутствуют в другом файле ( file.dat ), вы можете использовать comm ] следующим образом ( bash и ksh93 ):

comm -23 <( sort lines.in ) <( sort file.dat ) >>file.dat

Добавленные строки будут отсортированы.

Решение, сохраняющее порядок строк в lines.in :

grep -v -x -F -f file.dat lines.in >>file.dat

Это будет использовать grep , чтобы найти все строки в lines.in который не существует ( -v ) в file.dat ( -f file.dat ), и добавьте их в file.dat . Полные строки сравниваются как фиксированные ( -x -F ).

3
02.02.2016, 12:56
0 ответов

Теги

Похожие вопросы