Linux cut命令


在linux中,cut常用修剪出指定位置的数据,cut是按行为单位进行裁剪。
它有三个裁剪模式:

用法:cut [选项]... [文件]...
  -b, --bytes=列表        只选中指定的这些字节
  -c, --characters=列表    只选中指定的这些字符
  -d, --delimiter=分界符    使用指定分界符代替制表符作为区域分界
  -f, --fields=LIST       select only these fields;  also print any line
                            that contains no delimiter character, unless
                            the -s option is specified
  -n                      with -b: don't split multibyte characters
      --complement        补全选中的字节、字符或域
  -s, --only-delimited        不打印没有包含分界符的行
      --output-delimiter=字符串    使用指定的字符串作为输出分界符,默认采用输入
                的分界符
      --help        显示此帮助信息并退出
      --version        显示版本信息并退出

仅使用 -b, -c 或-f 中的一个。每一个列表都是专门为一个类别作出的,或者您可以用逗号隔
开要同时显示的不同类别。您的输入顺序将作为读取顺序,每个仅能输入一次。
每种参数格式表示范围如下:
    N    第N 个字节、字符或域
    N-    从第N 个开始到所在行结束的所有字符、字节或域
    N-M    从第N 个开始到第M 个之间(包括第M 个)的所有字符、字节或域
    -M    从第1 个开始到第M 个之间(包括第M 个)的所有字符、字节或域

当没有文件参数,或者文件不存在时,从标准输入读取      

常用选项:

  • b,按照字节长度裁剪,-n表示
  • c,按照字符长度来裁剪
  • d,表示自定义分隔符,默认为制表符
  • f,按照域长度来裁剪,-s表示

示例:

➜ echo "你好:哈哈" | cut -b 1-3
你

➜ echo "你好:哈哈" | cut -c 1-2
你好

➜ echo "你好:哈哈" | cut -d: -f 1-1
你好

complement表示反选。
示例:

➜ echo "12 34 56 67" | cut -b 1,4
13

➜ echo "12 34 56 67" | cut -b 1,4 --complement
2 4 56 67

➜ echo "12 34 56 67" | cut -b 1-4 --complement
4 56 67

output-delimiter表示设置输出的分隔符。
示例:

➜ echo "你好:哈哈:hello" | cut -d: -f 1-2 --output-delimiter=!
你好!哈哈

文章作者: djaigo
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 djaigo !
评论
  目录