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

  • 相关阅读:
    Python 操控Mysql
    mysql5.7 root密码重置
    pandas合并两个excel到一个excel
    键盘控制
    激活浏览器窗口
    python的xlwings库读写excel操作总结
    python 读取Excel使用xlwing库
    CMDB(资产管理系统) day1
    Vue之简易的留言板功能
    vue之神奇的动态按钮
  • 原文地址:https://www.cnblogs.com/wcwen1990/p/7027999.html
Copyright © 2011-2022 走看看