如何用另一个文件中的映射值替换csv文件中的第n个字段?

埃戈鲁兹

我有以下格式的csv文件:

23:56:00,5,1,7,99,100,101
23:56:30,5,1,7,98,199,191
23:57:00,6,1,6,99,99,98
23:57:30,5,2,6,97,99,199
...

以及以下格式的地图文件:

1:10
2:12
3:30
4:aa
5:16
6:11
7:bb

我要完成的工作是将第一个csv文件中的2,3和4列中的字段替换为它们在映射文件中映射的值。

例如,在上述情况下,我想要的最终输出是这样的:

23:56:00,16,10,bb,99,100,101
23:56:30,16,10,bb,98,199,191
23:57:00,11,10,11,99,99,98
23:57:30,16,12,11,97,99,199

最好的方法是什么?我试图找出一种使用awk / sed的方法,但是我不确定如何访问awk内的多个文件,如果那是最好的方法。由于文件很大,因此会有很多重复,因此我不认为每次都检查映射是正确的方法。

有没有一种方法可以将映射存储到Shell脚本中的哈希表中,然后使用哈希映射进行替换?

比雷

尝试:

awk '
    BEGIN { FS = OFS = "," } 
    FNR == NR { 
        split($0, f, /:/)
        map[f[1]] = f[2]
        next 
    } 
    { 
        for (i=2; i<=4; i++) { 
            if ($i in map) { $i = map[$i] } 
        } 
    } 
    { print }
' mapfile csvfile

它首先读取地图文件,然后将数据保存在关联的数组中,该数组与field进行比较234csv文件中进行比较。结果产生:

23:56:00,16,10,bb,99,100,101
23:56:30,16,10,bb,98,199,191
23:57:00,11,10,11,99,99,98
23:57:30,16,12,11,97,99,199

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何用另一个文件中的映射值替换CSV文件中的第n个字段?

来自分类Dev

如何从MySql中的另一个字段派生的文件的值

来自分类Dev

如何从MySql中的另一个字段派生的文件的值

来自分类Dev

如何根据另一个字段的内容替换文件中的特定字段?

来自分类Dev

如何根据另一个字段的内容替换文件中的特定字段?

来自分类Dev

如何用另一个替换字符串的第n个字符

来自分类Dev

如何用文件名中的另一个字符替换一个字符

来自分类Dev

如何用另一个文件中的字符替换一个文件中的字符

来自分类Dev

为csv文件中的另一个字段标识具有特殊字符的值

来自分类Dev

如何用另一个文件中的内容替换引号之间的文本?

来自分类Dev

awk根据另一个文件中的匹配值替换字段值

来自分类Dev

如何获取每个创建表的第n个字段引用Linux shell下的另一个文件?

来自分类Dev

如何获取每个创建表的第n个字段引用Linux shell下的另一个文件?

来自分类Dev

如何用 Elasticsearch 中的另一个字段覆盖 @timestamp 字段?

来自分类Dev

如何用 MySQL 中另一个字符串和一个字段的串联替换任何字符串

来自分类Dev

在csv文件中搜索列词,并用另一个值java替换它

来自分类Dev

如何根据另一个字段中的值在一个字段中查找和替换?

来自分类Dev

如何用bash中的另一个字母替换一个字母?

来自分类Dev

将文件的第4行替换为另一个文件中的相应行

来自分类Dev

将文件的第4行替换为另一个文件中的相应行

来自分类Dev

如何在Shell脚本中用另一个文件中的值替换文件中字段(列)的特定值?

来自分类Dev

如何根据另一个csv文件替换文件csv的值?

来自分类Dev

如何用另一个文件中的内容替换bash脚本中特定字符之间的文本?

来自分类Dev

如何比较两个不同的csv文件中的列并替换另一个文件中的列

来自分类Dev

如何使用 Pandas 替换另一个文件中的匹配值的列?

来自分类Dev

将某个字段中的某些值替换为另一个

来自分类Dev

如何用另一个文件中的匹配字符串替换一个文件中的匹配字符串?

来自分类Dev

如何替换文件中存在于perl中另一个文件中的变量的实际值

来自分类Dev

如何用文本文件中的另一个数字替换特定数字(C++)

Related 相关文章

  1. 1

    如何用另一个文件中的映射值替换CSV文件中的第n个字段?

  2. 2

    如何从MySql中的另一个字段派生的文件的值

  3. 3

    如何从MySql中的另一个字段派生的文件的值

  4. 4

    如何根据另一个字段的内容替换文件中的特定字段?

  5. 5

    如何根据另一个字段的内容替换文件中的特定字段?

  6. 6

    如何用另一个替换字符串的第n个字符

  7. 7

    如何用文件名中的另一个字符替换一个字符

  8. 8

    如何用另一个文件中的字符替换一个文件中的字符

  9. 9

    为csv文件中的另一个字段标识具有特殊字符的值

  10. 10

    如何用另一个文件中的内容替换引号之间的文本?

  11. 11

    awk根据另一个文件中的匹配值替换字段值

  12. 12

    如何获取每个创建表的第n个字段引用Linux shell下的另一个文件?

  13. 13

    如何获取每个创建表的第n个字段引用Linux shell下的另一个文件?

  14. 14

    如何用 Elasticsearch 中的另一个字段覆盖 @timestamp 字段?

  15. 15

    如何用 MySQL 中另一个字符串和一个字段的串联替换任何字符串

  16. 16

    在csv文件中搜索列词,并用另一个值java替换它

  17. 17

    如何根据另一个字段中的值在一个字段中查找和替换?

  18. 18

    如何用bash中的另一个字母替换一个字母?

  19. 19

    将文件的第4行替换为另一个文件中的相应行

  20. 20

    将文件的第4行替换为另一个文件中的相应行

  21. 21

    如何在Shell脚本中用另一个文件中的值替换文件中字段(列)的特定值?

  22. 22

    如何根据另一个csv文件替换文件csv的值?

  23. 23

    如何用另一个文件中的内容替换bash脚本中特定字符之间的文本?

  24. 24

    如何比较两个不同的csv文件中的列并替换另一个文件中的列

  25. 25

    如何使用 Pandas 替换另一个文件中的匹配值的列?

  26. 26

    将某个字段中的某些值替换为另一个

  27. 27

    如何用另一个文件中的匹配字符串替换一个文件中的匹配字符串?

  28. 28

    如何替换文件中存在于perl中另一个文件中的变量的实际值

  29. 29

    如何用文本文件中的另一个数字替换特定数字(C++)

热门标签

归档