zoukankan      html  css  js  c++  java
  • shell之使用cut切割文本文件

    我们知道可以通过工具grep或egrep按行筛选记录,这里我们可以通过cut工具对文本按列进行切分,它可以指定定界符,linux下制表符是默认的定界符。

    #cut -f 2,3 textfile

    这个命令可以显示textfile文件的第2、3列。

    例如:有文件如下:

    # cat dept

    10 ACCOUNTING NEW YORK

    20 RESEARCH DALLAS

    30 SALES CHICAGO

    40 OPERATIONS BOSTON

    1)# cut -f 2,3 dept

    ACCOUNTING NEW YORK

    RESEARCH DALLAS

    SALES CHICAGO

    OPERATIONS BOSTON

    2)# cut -s -f 2,3 dept

    ACCOUNTING NEW YORK

    RESEARCH DALLAS

    SALES CHICAGO

    OPERATIONS BOSTON

    其中-s选项可以过滤掉没有按照指定定界符的行。

    3)# cut -s -f1 --complement dept

    ACCOUNTING NEW YORK

    RESEARCH DALLAS

    SALES CHICAGO

    OPERATIONS BOSTON

    使用-f1 --complement选项输出结果不显示第1行。

    4)# cut -s -d":" -f1,2,3,4,5,6,7  dept

    root:x:0:0:root:/root:/bin/bash

    spark:x:481:480:Spark:/var/lib/spark:/sbin/nologin

    hue:x:480:479:Hue:/usr/lib/hue:/bin/false

    对于不是按照标准定界符分隔的文件,可以使用-d参数指定定界符。

    通过指定字段、字符、字节范围进行切割:

    此种方法依赖于下表中的内容:

    参数

    说明

    N-

    N-M

    -M

    从第n个字符、字节、字段开始至行尾

    从第n个字符、字节、字段至第m(包含)字符、字节、字段

    从第1个字符、字节、字段开始至第m个字符、字节、字段

    -b

    -c

    -f

    表示字节

    表示字符

    表示字段

    --output-delimiter

    指定输出定界符

    例如:

    # cat cuttext

    qwertyuiopasdfghjkl

    qwertyuiopasdfghjkl

    Qwertyuiopasdfghjkl

    1)# cut -c1-5,6-10 cuttext --output-delimiter ","

    qwert,yuiop

    qwert,yuiop

    qwert,yuiop

  • 相关阅读:
    Euraka适合初学者的简单小demo
    springboot中常用的依赖
    SpringBoot的入门程序
    spring-data-solr查询
    SpringBoot整合Redis
    SpringBoot整合MyBatis
    使用swagger2生成文档
    SpringBoot整合Spring Data JPA
    SpringBoot构建RESTful API
    SpringBoot属性配置
  • 原文地址:https://www.cnblogs.com/wcwen1990/p/7027999.html
Copyright © 2011-2022 走看看