Linux命令拆分csv文件,linux – 如何剪切CSV文件

我有以下CSV文件

more file.csv

Number,machine_type,OS,Version,Mem,CPU,HW,Volatge

1,HG652,linux,23.12,256,III,LOP90,220

2,HG652,linux,23.12,256,III,LOP90,220

3,HG652,SCO,MK906G,526,1G,LW1005,220

4,HG652,solaris,1172,1024,2Core,netra,220

5,HG652,solaris,1172,1024,2Core,netra,220

请建议如何剪切CSV文件(通过cut或sed或awk命令)

为了获得部分CSV文件

>命令需要获取表示我们要从CSV中剪切的字段的值

根据示例1(值应为6)

例1

在这个例子中,我们从左到右切割了6个字段(在这种情况下,CSV将如下所示)

Number,machine_type,OS,Version,Mem,CPU

1,HG652,linux,23.12,256,III

2,HG652,linux,23.12,256,III

3,HG652,SCO,MK906G,526,1G

4,HG652,solaris,1172,1024,2Core

5,HG652,solaris,1172,1024,2Core

解决方法:

切是你的朋友:

$cut -d',' -f-6 file

Number,machine_type,OS,Version,Mem,CPU

1,HG652,linux,23.12,256,III

2,HG652,linux,23.12,256,III

3,HG652,SCO,MK906G,526,1G

4,HG652,solaris,1172,1024,2Core

5,HG652,solaris,1172,1024,2Core

说明

> -d’,’将逗号设置为字段分隔符

> -f-6根据该分隔符打印到第6个字段.它相当于-f1-6,默认为1.

如果有必要,awk也可以做到:

$awk -v FS="," 'NF{for (i=1;i<=6;i++) printf "%s%s", $i, (i==6?RS:FS)}' file

Number,machine_type,OS,Version,Mem,CPU

1,HG652,linux,23.12,256,III

2,HG652,linux,23.12,256,III

3,HG652,SCO,MK906G,526,1G

4,HG652,solaris,1172,1024,2Core

5,HG652,solaris,1172,1024,2Core

标签:bash,linux,sed,awk,cut

来源: https://codeday.me/bug/20190717/1490718.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值