我想在 csv2(任何地方)中找到来自 csv1(column1)的模式,并将它们与来自 csv1(column2)的模式交换。
如下:
-csv1-
第 1 列 | 第 2 列 |
---|---|
AA | 教育署 |
BB | ysc |
抄送 | 光盘 |
DD | 尔格 |
...ETC
-csv2-
第 1 列 | 第 2 列 | 第 3 列 | ...等(更多列) |
---|---|---|---|
BB | kj | 哇 | pds |
xsd | tkp | 等 | AA |
xrg | AA | DD | 抄送 |
ggg | rko | blb | DD |
tpp | 易于 | 抄送 | 万维网 |
解决方案类似于这篇文章...如何比较两个不同 csv 文件中的列并替换另一个文件中的列
建议:
$ awk '
BEGIN { FS=OFS="," }
NR==FNR { map[$1] = $2; next }
(FNR>1) && ($4 in map) { $4 = map[$4] }
1' file2 file1
这个对我有用。我只需要指定搜索所有列,而不仅仅是第四列。
要签入所有列而不是单列,您需要遍历所有列并检查每个列以进行替换。