Пусть мы имеем ~/file1
:Слияние двух, почти Подобный Text Files
line1
line2
line3
... и ~/file2
:
line1
lineNEW
line3
Обратите внимание, что Thes два файла почти идентичны, за исключением line2
отличается от lineNEW
.
Вопрос: Как я могу объединить эти два файла, чтобы произвести один, который гласит:
line1
line2
lineNEW
line3
То есть, как я могу объединить два файла так, чтобы все уникальные линии фиксируются (без перекрытия) в третий файл? Обратите внимание, что порядок строк не имеет значения (пока все уникальные строки захватываются).
Может вы не создаете файл патча на основе 'diff', а затем просто удаляете строки удаления из него перед его применением? – arkascha
Если вы на самом деле используете bash или другую оболочку, которая поддерживает чтение из дескрипторов файлов, вы можете перенаправить второй файл в отдельный дескриптор, а затем просто сравнить содержимое по строкам. например 'while read -r linea; прочитайте -r -u 3 lineb; ["$ a" = "$ b"] ...; done <файл1 3 <файл2'. –
Джордж, в то время как вы проделали отличную работу по разъяснению своей цели, включая выборочные данные и ожидаемый результат, другим важным компонентом вопроса StackOverflow является попытка, которую * вы * решили решить самостоятельно. Эксперты рады помочь вам улучшить вашу работу, но мы не программисты с коротким порядком. Пожалуйста, отредактируйте свой вопрос и покажите свою попытку, чтобы мы могли помочь вам улучшить его. – ghoti