根据其他文件值替换列中的字符串

克里斯

输入文件:

col01 20083d70-1bf0-40f4-9df9-6247d587c085 text text
col02 d233d76d-e60d-442e-9b44-f0e1dc9ebefb text text
col03 20083d70-1bf0-40f4-9df9-6247d587c085 text text
col04 20083d70-1bf0-40f4-9df9-6247d587c085 text text
col05 b26063fa-93e4-414d-82f2-7c2924c81cc6 text text
col06 dc3e2f9b-05bf-49b4-a63e-c4bc09524eb3 text text
col07 d9f5cf1d-a8f9-488d-b088-b7ad00b67ec6 text text
col08 b26063fa-93e4-414d-82f2-7c2924c81cc6 text text
col09 d9a558ff-494a-4ada-8ec2-e9b2f9178599 text text
col10 b26063fa-93e4-414d-82f2-7c2924c81cc6 text text
col11 b26063fa-93e4-414d-82f2-7c2924c81cc6 text text
col12 4d78f804-18f6-4cc8-98a3-c4aedc60aebf text text
col13 0fe487fe-2ff2-4ca4-adf8-de3c19115dde text text
col14 581207a4-f4a5-4373-806b-0e1f7c298bb1 text text

参考文件:

0fe487fe-2ff2-4ca4-adf8-de3c19115dde group1
20083d70-1bf0-40f4-9df9-6247d587c085 group2
4d78f804-18f6-4cc8-98a3-c4aedc60aebf group3
581207a4-f4a5-4373-806b-0e1f7c298bb1 group4
b26063fa-93e4-414d-82f2-7c2924c81cc6 group5
d233d76d-e60d-442e-9b44-f0e1dc9ebefb group6
d9a558ff-494a-4ada-8ec2-e9b2f9178599 group7
d9f5cf1d-a8f9-488d-b088-b7ad00b67ec6 group8
dc3e2f9b-05bf-49b4-a63e-c4bc09524eb3 group9

预期输出:

col01 20083d70-1bf0-40f4-9df9-6247d587c085(group2) text text
col02 d233d76d-e60d-442e-9b44-f0e1dc9ebefb(group6) text text
col03 20083d70-1bf0-40f4-9df9-6247d587c085(group2) text text
col04 20083d70-1bf0-40f4-9df9-6247d587c085(group2) text text
col05 b26063fa-93e4-414d-82f2-7c2924c81cc6(group5) text text
col06 dc3e2f9b-05bf-49b4-a63e-c4bc09524eb3(group9) text text
col07 d9f5cf1d-a8f9-488d-b088-b7ad00b67ec6(group8) text text
col08 b26063fa-93e4-414d-82f2-7c2924c81cc6(group5) text text
col09 d9a558ff-494a-4ada-8ec2-e9b2f9178599(group7) text text
col10 b26063fa-93e4-414d-82f2-7c2924c81cc6(group5) text text
col11 b26063fa-93e4-414d-82f2-7c2924c81cc6(group5) text text
col12 4d78f804-18f6-4cc8-98a3-c4aedc60aebf(group3) text text
col13 0fe487fe-2ff2-4ca4-adf8-de3c19115dde(group1) text text
col14 581207a4-f4a5-4373-806b-0e1f7c298bb1(group4) text text

现在我能做到这一点sed -iwhile循环:

$ cat reference|while read a b;do sed -i s/"$a"/"$a($b)"/ input;done

是否可以以更简单的方式完成操作,仅使用awk而不使用while循环,在单个awk命令处理中仅使用输入和参考文件来更改第二列中的值?

管理员蜂

以下方法是纯粹awk基于方法的,并且避免了外部循环:

awk 'FNR==NR {key[NR]=$1; ref[NR]=$2; n_refs++; next} {for (i=1;i<=n_refs;i++) if ($2==key[i]) $2=key[i]"("ref[i]")"; print}' reference input

这将首先处理“参考”文件,并从该文件中生成UUID-“ Group nr”对(实际上是具有相应条目的两个数组)的列表。

一旦处理FNR该文件(由,每个文件的记录号表示,不同于NR,全局记录号),并且正在处理“主输入文件”,它将遍历找到的所有关联,并添加与之对应的组ID。只需将第二列的当前内容与所有已注册的UUID进行比较,即可获得第二列中的UUID。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据其他文件中的列搜索文件中的替换字符串

来自分类Dev

根据其他文件中的列搜索文件中的替换字符串

来自分类Dev

Python-熊猫-根据其他列的值替换列中的字符串-处理子字符串

来自分类Dev

如何根据其他列的值对列中的字符串进行复杂的转换?

来自分类Dev

熊猫根据其他列中的子字符串更改列值

来自分类Dev

pandas:根据其他列中的条件创建具有字符串值的列

来自分类Dev

根据其他列值删除字符串中的单词

来自分类Dev

根据列值中的条件替换行字符串

来自分类Dev

根据其他列中的值更改DataGridTextColumn单元格上的字符串格式,并使值可排序

来自分类Dev

如何用其他文件替换文件中的字符串。

来自分类Dev

如何用同一列中的其他字符串替换列中的字符串

来自分类Dev

根据其他列中的重复数据更改列中的字符串

来自分类Dev

SSIS:根据其他列中的某些字符串填充列

来自分类Dev

使用其他文件中的相同单词替换字符串

来自分类Dev

MYSQL:根据其他单元格中的字符串值添加值

来自分类Dev

如何使用嵌套字典替换其他列中的字符串

来自分类Dev

如何根据某个字符串组合是否在同一行的其他列中更改列中的值?(熊猫)

来自分类Dev

如何根据不同的pandas列中的值替换字符串

来自分类Dev

用 Lua 中的其他字符串替换字符串

来自分类Dev

如何通过python中的.replace方法用其他字符串替换字符串?

来自分类Dev

根据其他字符串变量提取新变量中的字符串模式

来自分类Dev

如何使用其他两列(熊猫)中的数据替换一列中的字符串

来自分类Dev

如何使用R中其他列的值格式化字符串

来自分类Dev

根据字符串列表和相应替换列表替换文件中的字符串

来自分类Dev

如何用python中的其他字符替换重复多次的字符串中的字符?

来自分类Dev

用字符串中的其他字符替换“()”中的任何字符?

来自分类Dev

使用其他数据框替换字符串中的数据框中的值作为字符串并使用Pandas作为键

来自分类Dev

如何根据特定列中的值对熊猫数据文件中的字符串排序?

来自分类Dev

根据与其他列匹配的部分字符串在数据框中创建新列

Related 相关文章

  1. 1

    根据其他文件中的列搜索文件中的替换字符串

  2. 2

    根据其他文件中的列搜索文件中的替换字符串

  3. 3

    Python-熊猫-根据其他列的值替换列中的字符串-处理子字符串

  4. 4

    如何根据其他列的值对列中的字符串进行复杂的转换?

  5. 5

    熊猫根据其他列中的子字符串更改列值

  6. 6

    pandas:根据其他列中的条件创建具有字符串值的列

  7. 7

    根据其他列值删除字符串中的单词

  8. 8

    根据列值中的条件替换行字符串

  9. 9

    根据其他列中的值更改DataGridTextColumn单元格上的字符串格式,并使值可排序

  10. 10

    如何用其他文件替换文件中的字符串。

  11. 11

    如何用同一列中的其他字符串替换列中的字符串

  12. 12

    根据其他列中的重复数据更改列中的字符串

  13. 13

    SSIS:根据其他列中的某些字符串填充列

  14. 14

    使用其他文件中的相同单词替换字符串

  15. 15

    MYSQL:根据其他单元格中的字符串值添加值

  16. 16

    如何使用嵌套字典替换其他列中的字符串

  17. 17

    如何根据某个字符串组合是否在同一行的其他列中更改列中的值?(熊猫)

  18. 18

    如何根据不同的pandas列中的值替换字符串

  19. 19

    用 Lua 中的其他字符串替换字符串

  20. 20

    如何通过python中的.replace方法用其他字符串替换字符串?

  21. 21

    根据其他字符串变量提取新变量中的字符串模式

  22. 22

    如何使用其他两列(熊猫)中的数据替换一列中的字符串

  23. 23

    如何使用R中其他列的值格式化字符串

  24. 24

    根据字符串列表和相应替换列表替换文件中的字符串

  25. 25

    如何用python中的其他字符替换重复多次的字符串中的字符?

  26. 26

    用字符串中的其他字符替换“()”中的任何字符?

  27. 27

    使用其他数据框替换字符串中的数据框中的值作为字符串并使用Pandas作为键

  28. 28

    如何根据特定列中的值对熊猫数据文件中的字符串排序?

  29. 29

    根据与其他列匹配的部分字符串在数据框中创建新列

热门标签

归档