免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 677 | 回复: 9

[文本处理] shell 提取csv 文件 [复制链接]

论坛徽章:
0
发表于 2019-04-10 22:46 |显示全部楼层
本帖最后由 jsb1993926 于 2019-04-12 03:16 编辑

请教各位需要写一个shell 名为cprocess.h
1.需要提取如下csv文件的第1.2.3列StudentID ,studentnetworkusername,以及studentname也就是说其他的信息不需要只需要前3个不重复的信息
2.之后再进行查重排除重复项比如学号100 的出现了两次那只提取一次

csv.jpg

3.执行文件后输出结果为如下
output.jpg
请问应该用什么样方法呢
谢谢
input.rar (1.2 KB, 下载次数: 8)
csv.jpg

论坛徽章:
4
2016科比退役纪念章
日期:2018-10-24 08:24:0115-16赛季CBA联赛之北控
日期:2019-03-12 14:34:562016科比退役纪念章
日期:2019-04-01 10:33:0915-16赛季CBA联赛之山东
日期:2019-04-17 12:46:32
发表于 2019-04-11 08:53 |显示全部楼层
发样本应该发文本,或者传文件附件,图片让人怎么试- - 先来个OCR?
未用你的样本测试,你自己试一下,可以用你说的格式,
csv文件在当前目录下,这样就可以了。
  1. ./cprocess.h xxx.csv
复制代码
  1. #!/usr/bin/awk -f
  2. BEGIN        {
  3.     FS=","
  4. }
  5. NR==1{
  6.     head=$1","$2","$3
  7. }
  8. NR>1{
  9.     a[$1]=$1","$2","$3
  10. }
  11. END{
  12.     print head
  13.     for (i in a)
  14.         print a[i]
  15. }
复制代码

论坛徽章:
0
发表于 2019-04-12 03:15 |显示全部楼层
回复 2# cfwyy

非常感谢...不好意思 这个csv附件我传了4次一直传不上去今天传上去了
input.rar (1.2 KB, 下载次数: 4)

论坛徽章:
0
发表于 2019-04-12 03:19 |显示全部楼层
回复 2# cfwyy

另外想请教一下如果我想让他处理完毕以后再生成一个   结果.csv 文件应该怎么做呢? 谢谢

论坛徽章:
4
2016科比退役纪念章
日期:2018-10-24 08:24:0115-16赛季CBA联赛之北控
日期:2019-03-12 14:34:562016科比退役纪念章
日期:2019-04-01 10:33:0915-16赛季CBA联赛之山东
日期:2019-04-17 12:46:32
发表于 2019-04-12 08:18 |显示全部楼层
回复 3# jsb1993926

  1. #!/usr/bin/awk -f
  2. BEGIN        {
  3.     FS=","
  4. }
  5. NR==1{
  6.     head="d,a,b,c"
  7. }
  8. NR>1{
  9.     a[$1]=$1","$4","$6","$9
  10. }
  11. END{
  12.     print head
  13.     for (i in a)
  14.         print a[i]
  15. }
复制代码
  1. ./cprocess.h xxx.csv >res.txt
复制代码

论坛徽章:
0
发表于 2019-04-14 08:06 |显示全部楼层

论坛徽章:
0
发表于 2019-04-19 16:58 |显示全部楼层
awk -F"," '{print $1","$2","$3","$4}' input.csv | sort -n | uniq| sed 's/,StudentFirstName//; s/,Madonna$//' > tmp.csv
纯命令行模式

论坛徽章:
0
发表于 2019-04-19 16:59 |显示全部楼层
awk -F"," '{print $1","$2","$3","$4}' input.csv | sort -n | uniq| sed 's/,StudentFirstName//; s/,Madonna$//' > tmp.csv
纯命令行模式

论坛徽章:
0
发表于 2019-04-19 17:00 |显示全部楼层
awk -F"," '{print $1","$2","$3","$4}' input.csv | sort -n | uniq| sed 's/,StudentFirstName//; s/,Madonna$//' > tmp.csv
纯命令行模式

论坛徽章:
0
发表于 2019-04-19 17:02 |显示全部楼层
awk -F"," '{print $1","$2","$3","$4}' input.csv | sort -n | uniq| sed 's/,StudentFirstName//; s/,Madonna$//' > tmp.csv


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

基于案例的 SQL 优化实战训练营

讲师:中电福富特级专家梁敬彬,参与本次课程培训,你将收获:
1. 能编写出较为高效的 SQL;
2. 能解决70%以上的数据库常见优化问题;
3. 能得到老师提供的高效的相关工具和解决方案;
4. 能举一反三,收获不仅仅是 SQL 优化。
现在购票享受8.8折优惠!
----------------------------------------
优惠时间:2019年3月20日前

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP