使用UNIX Shell的vlookup

用户名

我有这个CSV档案

ID,col1,col2,col3
1,,,FALSE
2,,,FALSE
3,,,FALSE
4,,,FALSE

我想使用ID列将其与其他CSV文件一起加入

ID,col1
2,AA
3,BB

获取(实际输出必须是另一个CSV,这里有一个漂亮的打印输出,以提高可读性)

+----+------+------+-------+
| ID | col1 | col2 | col3  |
+----+------+------+-------+
| 1  | -    | -    | FALSE |
| 2  | AA   | -    | FALSE |
| 3  | BB   | -    | FALSE |
| 4  | -    | -    | FALSE |
+----+------+------+-------+

最后当col1不为空时,col3必须TRUE

+----+------+------+-------+
| ID | col1 | col2 | col3  |
+----+------+------+-------+
| 1  | -    | -    | FALSE |
| 2  | AA   | -    | TRUE  |
| 3  | BB   | -    | TRUE  |
| 4  | -    | -    | FALSE |
+----+------+------+-------+

使用某些Linux命令行实用程序或bash脚本怎么做?

阿布鲁斯人

您可以使用Miller(https://github.com/johnkerl/miller)。跑步

mlr --csv join --ul -j ID -f input01.csv then put -S 'if ($col1!=""){$col3="TRUE"}' then sort -n ID input02.csv >output.csv

你将会拥有

+----+------+------+-------+
| ID | col1 | col2 | col3  |
+----+------+------+-------+
| 1  | -    | -    | FALSE |
| 2  | AA   | -    | TRUE  |
| 3  | BB   | -    | TRUE  |
| 4  | -    | -    | FALSE |
+----+------+------+-------+

一些注意事项:

  • join使用ID字段运行连接
  • put 检查col1是否不为空;
  • sort 按ID对记录进行排序

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用unix shell测试系统的字节序

来自分类Dev

在Unix Shell脚本中使用带点的变量

来自分类Dev

使用Unix Shell进行流控制

来自分类Dev

unix shell 中使用的“选项”是什么?

来自分类Dev

使用Travis CI在UNIX Shell脚本上进行测试

来自分类Dev

如何对多个文件使用unix / shell粘贴命令

来自分类Dev

如何在unix shell函数中使用getopts?

来自分类Dev

在shell脚本中,如何结合使用Rscript和Unix命令?

来自分类Dev

如何使用unix shell中的参数调用子例程

来自分类Dev

早期的unix系统上使用了哪些shell?

来自分类Dev

使用Travis CI在UNIX Shell脚本上进行测试

来自分类Dev

如何使用通配符在UNIX Shell上复制文件

来自分类Dev

使用Unix Shell脚本从文件中删除一行

来自分类Dev

使用 shell 脚本为 UNIX 文件授予权限 777

来自分类Dev

Shell脚本,Linux,Unix,Shell

来自分类Dev

Shell UNIX:grep通配符

来自分类Dev

什么是交互unix shell

来自分类Dev

PowerShell与Unix Shell

来自分类Dev

Shell UNIX:grep通配符

来自分类Dev

Unix Shell脚本

来自分类Dev

UNIX shell文件解析

来自分类Dev

Shell脚本-Unix

来自分类Dev

Unix Shell脚本功能

来自分类Dev

Shell Unix中的计算

来自分类Dev

运行 unix shell TalendJob

来自分类Dev

Unix-使用find列出所有.html文件。(不要使用shell通配符或ls命令)

来自分类Dev

UNIX-格式化另一个Shell脚本-在sed中使用awk

来自分类Dev

使用Shell脚本从UNIX中的文件名中提取日期

来自分类Dev

在Unix Shell脚本中不使用'wc'命令而计算文本文件中的单词数