zoukankan      html  css  js  c++  java
  • linux cut: invalid byte, character or field list Try 'cut --help' for more information.

    1. 概述

    centos执行简单shell 脚本 报错

    cut: invalid byte, character or field list
    Try 'cut --help' for more information.

    2. 代码

      vim userid.sh

    #!/bin/bash
    #Program
    #       Use id, finger command to check system account's information.
    #History
    #2015/07/17 logan first release
    PATH=/bin:$PATH
    export PATH
    
    users=$(cut -d ':' -fl /etc/passwd)#注意这行!!!!!!!!!!!!!
    for username in ${users}
    do
            id ${username}
    done

    3. 解决问题

       代码中cut命令 后跟的选项及参数有误 应该是数字1而不是字母l

    4. cut 命令学习请参考 https://linuxconfig.org/learning-linux-commands-cut

    以下为节选

    Frequently used options
    
    Without too much talk let's start by introducing main and the most commonly used cut command line options.
    
    -b, --bytes=LIST
    Cuts the input file using list of bytes specified by this option
    -c, --characters=LIST
    Cuts the input file using list of characters specified by this option
    -f, --fields=LIST
    Cuts the input file using list of field. The default field to be used TAB. The default behavior can be overwritten by use of -d option.
    -d, --delimiter=DELIMITER
    Specifies a delimiter to by used as a field. As mentioned previously default field is TAB and this option overwrites this default behavior.
    Using LIST
    
    List in this case can consist of single or range of bytes, characters or fields. For example to display only second byte the list will include a single number 2 .
    
    Therefore:
    
    2 will display only second byte, character or field counted from 1
    2-5 will display all bytes, characters or fields starting from second and finishing by 5th
    -3 will display all bytes, characters or fields before 4th
    5- will produce all bytes, characters or fields starting with 5th
    1,3,6 will display only 1st, 3rd and 6th byte, character or field
    1,3- displays 1st and all bytes, characters or fields starting with 3th
    Let's see how this works in practice.
    
    Cut by Character
    
    In the following examples are rather self-explanatory. We used cut's -c option to print only specific range of characters from cut.txt file.
    
    echo cut-command > cut.txt 
    $ cut -c 2 cut.txt 
    u
    $ cut -c -3 cut.txt
    cut
    $ cut -c 2-5 cut.txt
    ut-c
    $ cut -c 5- cut.txt
    command
    Cut By Byte
    
    The principle behind -b ( by byte ) option is similar to the one described previously. We know that a single character has size of 1 byte and therefore result after executing previous commands with -b option will be exactly the same:
    
    $ cut -b 2 cut.txt
    u
    $ cut -b -3 cut.txt
    cut
    $ cut -b 2-5 cut.txt
    ut-c
    $ cut -b 5- cut.txt
    command
  • 相关阅读:
    HTML基础
    一次由任意文件漏洞开始的渗透测试过程
    谈一谈信息泄露这件事
    浅谈任意文件下载漏洞的利用
    [原创] 一次渗透测试过程--从外网进内网
    一次绕过360+诺顿的提权过程
    漏洞挖掘高级方法
    新型勒索软件Magniber正瞄准韩国、亚太地区开展攻击
    Microsoft Edge 浏览器远程代码执行漏洞POC及细节(CVE-2017-8641)
    Office远程代码执行漏洞CVE-2017-0199复现
  • 原文地址:https://www.cnblogs.com/rocky-fang/p/6709622.html
Copyright © 2011-2022 走看看