zoukankan      html  css  js  c++  java
  • Linux的cut命令

    cut命令

    cut命令用来显示行中的指定部分,删除文件中指定字段。cut经常用来显示文件的内容,类似于下的type命令。

    说明:该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数file所指 明的文件,将它们的内容输出到标准输出上;其二是连接两个或多个文件,如cut fl f2 > f3将把文件fl和几的内容合并起来,然后通过输出重定向符“>”的作用,将它们放入文件f3中。

    当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。

    语法

    cut(选项)(参数)

    选项

    -b:仅显示行中指定直接范围的内容;
    -c:仅显示行中指定范围的字符;
    -d:指定字段的分隔符,默认的字段分隔符为“TAB”;
    -f:显示指定字段的内容;
    -n:与“-b”选项连用,不分割多字节字符;
    --complement:补足被选择的字节、字符或字段;
    --out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;
    --help:显示指令的帮助信息;
    --version:显示指令的版本信息。

    演示:

    [root@iZbp143t3oxhfc3ar7jey0Z ~]# cat student.txt
    ID      Name    PHP     Linux   MySQL   Average
    1       Lm      82      95      86      87.66
    2       Sc      74      96      87      85.66
    3       Tg      99      83      93      91.66
    
    [root@iZbp143t3oxhfc3ar7jey0Z ~]#

     使用 -f 选项提取指定字段:

    [root@iZbp143t3oxhfc3ar7jey0Z ~]# cut -f 1 student.txt
    ID
    1
    2
    3
    
    [root@iZbp143t3oxhfc3ar7jey0Z ~]#
    [root@iZbp143t3oxhfc3ar7jey0Z ~]# cut -f 2,3 student.txt
    Name    PHP
    Lm      82
    Sc      74
    Tg      99
    
    [root@iZbp143t3oxhfc3ar7jey0Z ~]#

     --complement 选项提取指定字段之外的列(打印除了第二列之外的列):

    [root@iZbp143t3oxhfc3ar7jey0Z ~]# cut -f2 --complement student.txt
    ID      PHP     Linux   MySQL   Average
    1       82      95      86      87.66
    2       74      96      87      85.66
    3       99      83      93      91.66
    
    [root@iZbp143t3oxhfc3ar7jey0Z ~]#

     使用 -d 选项指定字段分隔符:

    [root@iZbp143t3oxhfc3ar7jey0Z ~]# cut -d ":" -f 1,3 /etc/passwd
    root:0
    bin:1
    daemon:2
    adm:3
    lp:4
    sync:5
    shutdown:6
    halt:7
    mail:8
    operator:11
    games:12
    ftp:14
    nobody:99
    systemd-network:192
    dbus:81
    polkitd:999
    sshd:74
    postfix:89
    chrony:998
    nscd:28
    tcpdump:72
    dockerroot:997
    [root@iZbp143t3oxhfc3ar7jey0Z ~]#

    指定字段的字符或者字节范围

    cut命令可以将一串字符作为列来显示,字符字段的记法:

    • N-:从第N个字节、字符、字段到结尾;
    • N-M:从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段;
    • -M:从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。

    上面是记法,结合下面选项将摸个范围的字节、字符指定为字段:

    • -b 表示字节;
    • -c 表示字符;
    • -f 表示定义字段。

    示例

     因为每个字符的长度不一样,所以出现了偏移

    [root@iZbp143t3oxhfc3ar7jey0Z ~]# cut -c 8- student.txt
            PHP     Linux   MySQL   Average
            95      86      87.66
            96      87      85.66
            83      93      91.66

     打印前2个字符:

    [root@iZbp143t3oxhfc3ar7jey0Z ~]# cut -c-2 /etc/passwd
    ro
    bi
    da
    ad
    lp
    sy
    sh
    ha
    ma
    op
    ga
    ft
    no
    sy
    db
    po
    ss
    po
    ch
    ns
    tc
    do
    [root@iZbp143t3oxhfc3ar7jey0Z ~]# cut -c1-3 /etc/passwd
    roo
    bin
    dae
    adm
    lp:
    syn
    shu
    hal
    mai
    ope
    gam
    ftp
    nob
    sys
    dbu
    pol
    ssh
    pos
    chr
    nsc
    tcp
    doc
    [root@iZbp143t3oxhfc3ar7jey0Z ~]#
  • 相关阅读:
    java循环控制语句loop使用
    可实现的全局唯一有序ID生成策略
    ElasticSearch使用RestHighLevelClient进行搜索查询
    基于Redis实现分布式定时任务调度
    python脚本生成exe程序
    敏捷开发--工作流程的梳理
    React-菜鸟学习笔记(二)
    React-菜鸟学习笔记(一)
    ZooKeeper-基础介绍
    常用排序算法的Java实现与分析
  • 原文地址:https://www.cnblogs.com/dalianpai/p/12775632.html
Copyright © 2011-2022 走看看