栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

linux 超大csv文件首行大小写转换

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux 超大csv文件首行大小写转换

场景:

一些源数据作为csv文件存放在服务器上,因之前使用的数据库是oracle和postgresql,大小写不敏感,因此csv文件的首行存放的是大写的字段名。现在数据库扩展使用大小写敏感的clickhouse,因此在入库前需要对csv文件的首行进行大小写转换。

思路:

文件过大,文件在windows下打不开。所以需要用命令来修改:

1、展示csv文件首行并转换为小写

2、将小写的行插入在原csv文件的第二行

3、删除大写的首行

过程:

演示用的test0.csv首行有三个字段,分别为AAA、BB_B、C(这是我随便起的)。将这个文件放在服务器上,我的存放路径为/root/myData/test0.csv

1、展示csv文件首行并转换为小写

head -1 test0.csv | sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'

 2、将第一步回显的小写的行插入在原csv文件的第二行(用java来说就是把aaa,bb_b,c作为入参传入sed方法中)

sed -i '1 a aaa,bb_b,c' test0.csv 

 这里可以看出,小写的表头已经插入到第二行了

 3、删除大写的首行

sed -i '1d' test0.csv

完成~ 

总结: 

分三个命令来实现linux 超大csv文件首行大小写转换,我这里使用的主要是sed命令,如果有更简洁的方法欢迎讨论~

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/730352.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号