首页 > 系统服务 > 详细

Linux shell 之cut

时间:2016-01-05 15:41:17      阅读:262      评论:0      收藏:0      [点我收藏+]

一、概述

    cut是将文本文件按列分割的工具,并且可以指定列与列之间的定界符。每一列称为一个字段。

    制表符\t 是默认的定界符,如何一行中没有定界符,将原样输出。


二、具体使用方法

    (1)从文本文件中提取指定列, field_list是由列号组成作为-f的参数,列号从1开始,使用逗号隔开

       cut -f field_list filename

        eg.

        [1]提取文件file的第2列和第3列

         cut -f 2,3 file

        [2]从标准输入中获得数据,进行分割

         cat file | cut -f 2,3

        [3]默认没有定界符的行将显示,使用-s选项去掉没有定界符的行

          cut -f 3,4 file -s  #没有制表符的行将不再显示

    

    (2)指定排除某些列(需要提取的列很多,则进行补集运算),field_list为需要排除的字段。

      cut -f field_list filename --complement

        eg.

        [1]提取file文件中除了第2列和第3列以外的列

         cut -f 2,3 file --complement


    (3)指定定界符 -d

      cut -f field_list -d delimiter filename

        eg.

        [1]file文件中的每一字段由分号隔开,提取第2个字段

          cut -f 2 -d ";" file


    (4)将一串字符作为字段来显示

        

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

        

-b字节
-c字符
-f字段

    eg.

    [1]打印文件中的第3到第5个字符

    cut -c 3-5 file

    [2]打印文件中的前2个字符

      cut -c -2 file

    [3]提取多个字段是,使用--output-delimiter 指定定界符,否则不能区分多个字段

     cut -c 3-5,6-9 file --output-delimiter ","

    

本文出自 “风雪舞者” 博客,请务必保留此出处http://happytree007.blog.51cto.com/6335296/1731665

Linux shell 之cut

原文:http://happytree007.blog.51cto.com/6335296/1731665

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!