Linux命令之cut

    今天系统中发现一个问题,在导出EXCEL时,格式出现了混乱(其实就是中间有一条数据突然换行了)。

    刚开始以为是程序的问题,但是把程序调出来看了之后,没发现什么问题。后来上服务器看数据文件,一下就定位了问题所在(体会到了Linux命令的强大)。

    导出EXCEL的逻辑是:将每条数据都保存到文本文件中,每列以“|”进行切分。

    根据上面的描述可以知道,数据文件中的每行都是比较规范的。刚开始考虑用awk命令来看下每行的数据,后来又想到了用cut命令。

    解决方法:利用cut将每行进行切割,然后取出每行的第一个字段(当然也可以取出每个字段),结果一对比,发现有一行数据格式明显不对。然后去数据库中查看该条记录,发现该记录中有个字段有换行符尴尬。前端没有进行充分校验啊。执行的脚本大概如下:

cut -d "|" -f1 filename

 

    总结:

cut -f FIELD_LIST filename
FIELD_LIST是需要显示的列。它由列好组成,彼此之间用逗号分隔。例如:
cut -f 2,3 filename
这条命令将显示第2列和第3列。

    制表符是字段或列的默认定界符。没有定界符的行也会照原样打印出来。要避免打印出这种不包含定界符的行,则可以使用cut的-s选项。

    要指定字符的定界符,使用-d选项。

    另外,cut命令还可以将一串字符作为列来显示。

    -b 表示字节;

    -c 表示字符;

    -f 表示定义字段。

    下表列出了字符范围的记法:

记法范围
N-从第N个字节,字符或字段到行尾
N-M从第N个字节,字符或字段到第M个(包括第M个在内)字节、字符或字段
-M第1个字节,字符或字段到第M个(包括第M个在内)字节、字符或字段

   

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值