如果两个文件中的字符串匹配,可以替换字符串吗?

如果两个文件中的字符串匹配,可以替换字符串吗?

我知道 sed 可以做到这一点,但仅限于一个字符串让我解释一下,更好,让我们说在文件 1 中我们得到了这样的东西

tom,123456789
steve,1478321
jon,315457

并在第二个文件中

tania,148321
john,123456789

因此,如果第二个文件中的字符串与第一个文件中的值匹配,它将替换第一个文件中的值。请注意,我在编程方面很糟糕,我知道这通过 python 或其他东西很容易实现,但我对它们一无所知

答案1

假设您想更换第一的字段如果第二字段匹配,那么你可以使用这样的东西:

awk -F, 'NR==FNR {a[$2]=$1; next} $2 in a {$1=a[$2]} 1' OFS=, file2 file1
john,123456789
steve,1478321
jon,315457

相关内容