Возможный дубликат:
Как я могу заменить строки в текстовом файле строками из другого файла на основе совпадающих ключевых полей?
Я хочу объединить следующие файлы и хочу, чтобы содержимое FileB.txt перезаписало FileA.txt, где есть общие строки, но я не хочу полностью заменять FileA.txt на FileB.txt.
Например:
Файл А:
# cat FileA.txt
interface.1.type = ethernet
interface.1 = A
interface.1.ip = 192.168.1.1
interface.1.netmask = 255.255.255.0
interface.1.dhcp = false
Файл Б:
# cat FileB.txt
interface.1 = B
interface.1.ip = 192.168.1.1
interface.1.netmask =
interface.1.dhcp = true
interface.1.dhcp.range = 192.168.1.1,192.168.1.15
interface.1.extraline =
В этом случае результат слияния должен быть:
# cat FileA.txt
interface.1.type = ethernet
interface.1 = B
interface.1.ip = 192.168.1.1
interface.1.netmask =
interface.1.dhcp = true
interface.1.dhcp.range = 192.168.1.1,192.168.1.15
interface.1.extraline =
Таким образом, все, что находится перед «=» в каждой строке, должно быть проверено и сопоставлено между FileA.txt и FileB.txt. Если что-то после «=» в FileB.txt отличается от FileA.txt, то все, что находится в FileB.txt, должно быть записано в FileA.txt.