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

  • 相关阅读:
    修改MySQL密码
    struts入门
    监听
    游戏外挂教程(转)
    “无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性 “之解决
    C# PropertyGrid控件应用心得
    登录时的"记住我"
    自动登录、记住我(保存登陆状态)实现
    UpdatePanel的使用方法
    asp.net中使用基于角色role的Forms验证
  • 原文地址:https://www.cnblogs.com/wcwen1990/p/7027999.html
Copyright © 2011-2022 走看看