

用shell命令处理数据
source link: https://houye.xyz/2016-09/shellcommand/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

用shell命令处理数据
有 2 份csv格式的数据,内容大概是这样的
"riid:cb33ecb9-b76b-4633-9d80-26723838a0ba","1","32049683@JS" "riid:ced95b55-a3cb-4f24-b440-d56b5bf9f476","1","32000928@JS" "riid:87c1b470-1b4a-4969-95fc-09d39e1b2182","1","32010008@JS"
第一列是主键,第二列是状态值,主要是比对这两列,一份文件中包含另一份中所有的riid,几万行至十几万行的数据,用excel处理,电脑卡的动不了,于是打算扔到 linux 下处理下,大致分为分列、去引号、排序、比对。
我们不需要最后一列数据,可以将其去掉
cat 1.csv |cut -d \, -f 1,2 > 2.csv
-d 指定分隔符,在这里是逗号,-f 选择需要的字段,我们需要第一列和第二列,最后用重定向符号> 将截取的数据输出到文件。2.csv 的内容是这样的。
"riid:cb33ecb9-b76b-4633-9d80-26723838a0ba","1" "riid:ced95b55-a3cb-4f24-b440-d56b5bf9f476","1" "riid:87c1b470-1b4a-4969-95fc-09d39e1b2182","1"
引号没什么用,还影响比较,可以将其去掉。
sed -i 's/"//g' 2.csv
因为引号只出现在数据列两边,所以处理比较简单.
riid:cb33ecb9-b76b-4633-9d80-26723838a0ba,1 riid:ced95b55-a3cb-4f24-b440-d56b5bf9f476,1 riid:87c1b470-1b4a-4969-95fc-09d39e1b2182,1
排序很简单
sort 2.csv -o 2.csv
对2.csv 进行排序,结果输出到原文件。 也可以只按照某列排序
sort -t, -k 1 2.csv -o 2.csv
以逗号为分隔符,按第一列的字符升序进行排序,结果输出到原文件。
接下来就可以比对了
2 个文件中相同的部分
comm -12 2.csv 3.csv
2 个文件中状态值不一致的部分
diff 1.csv 2.csv -y | grep \|
Recommend
-
53
shell编程和unix命令,基于unix的shell脚本开发的学习与研究
-
38
-
48
HBase 提供了一个非常方便的命令行交互工具 HBase Shell。通过 HBase Shell 可以创建表,也可以增删查数据,同时集群的管理、状态查看等也可以通过 HBase shell 实现。 HBase Shell 用法: 确保用 HBase Shell...
-
19
点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,麻烦点个在看或点个赞,感谢~ 程序环境: ubuntu16.04 x64 虚拟机 以一个实际的需求为例进行说明: 获取固定网卡的ip地址 一、 例子拆解 1. ifconfig效果...
-
12
gobox中的编解码和执行shell命令 May 11, 2018 今天来说下gobox中的encoding和shell两个box。 encoding encoding的主要作用是完成编解码工作,目前支持了base64编解码。
-
8
linux下的C语言开发19,使用C语言执行shell命令 发表于 2019-01-07 18:01:11...
-
8
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。本文提供一个真实的测试用例需求,设计逻辑类似 Makefile,我以 Bash 处理 JSON 为例,Coding 水平有限,请各位多多包涵哈,欢迎大家...
-
11
「Shell」- 处理 YAML 文件 ...
-
2
利用pv命令监视数据的处理进度 2020-04-10 发布在
-
6
一、echo命令结果高亮显示Shell脚本中echo命令显示内容带颜色高亮显示时,需要使用参数-e。命令使用格式1:echo -e"\033[背景颜色;文字颜色m要输出的内容\033[0m"。命令使用格式2:echo -e"\e[背景颜色;文字颜色m要输出的内容\e[0m...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK