cut

警告
本文最后更新于 2023-10-22,文中内容可能已过时。

cut

1
2
3
cut [-bn] [file]
cut [-c] [file]
cut [-df] [file]

cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定 File 参数,cut 命令将读取标准输入。

必须指定 -b(按字节分割)、-c(按字符分割)或 -f(按字段分割)其中一个参数。每种情况(字节、字符、字段)都需要指定一个 LIST 参数来指定范围,LIST 由一个范围 (range) 或 , 隔开的多个范围组成。范围是下列形式之一:

  • N:第 N 个字节、字符或字段,从 1 计数 起

  • N- :从第 N 个 字节、字符或字段,直至行尾

  • N-M:从第 N 到 第 M (并包括第 M) 个字节、字符或字段

  • -M:从第 1 到 第 M (并包括 第 M) 个字节、字符或字段

三种情况:

  • -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。

  • -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的范围之内,该字符将被写出;否则,该字符将被排除。这个用的不多

  • -c :以字符为单位进行分割。

    cat ../etc/passwd | cut -c -10:截取每一行的前 10 个字符:

  • -d :自定义分隔符,默认为制表符[Tab]。

  • -f :与-d一起使用,指定显示哪个区域。

    cat ../etc/passwd | cut -d ':' -f 1-4:截取以 : 为分隔符的第 1 个字段到第 4 个字段

    cat ../etc/passwd | cut -d ':' -f 1,3:截取以 : 为分隔符的第 1 个字段和第 3 个字段

    cut -d ':' -f 1,3 /etc/passwd:当然,可以不使用管道,直接 cut


0%