重複の可能性:
一致するキーフィールドに基づいて、テキストファイルの行を別のファイルの行に置き換えるにはどうすればよいですか?
次のファイルをマージし、FileB.txtの内容で共通行があるFileA.txtを上書きしたいのですが、FileA.txtをFileB.txtに完全に置き換えたくありません。
例えば:
ファイルA:
# 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
ファイルB:
# 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に書き込む必要があります。