# cut.1

CUT(1)

CUT(1)

FreeBSD General Commands Manual

CUT(1)

## [名称](#__u540D___u79F0_)

`cut` —

剪切文件每一行的选定部分

## [概要](#__u6982___u8981_)

`cut` `-b` list \[`-n`] \[file ...] `cut` `-c` list \[file ...] `cut` `-f` list \[`-w` | `-d` delim] \[`-s`] \[file ...]

## [描述](#__u63CF___u8FF0_)

`cut` 实用程序从每个 file 中剪切出每一行的选定部分（由 list 指定）并将它们写入标准输出。 如果未指定 file 参数，或者文件参数是单个破折号 (‘`-`’) ，则从标准输入 `cut` 读取。 list 指定的项目可以是列位置，也可以是由特殊字符分隔的字段。 列和字段编号从 1 开始。

list 选项参数是逗号或空格分隔的一组递增数字和/或数字范围。 数字范围由一个数字、一个破折号 (‘-’) 和第二个数字组成，并选择从第一个数字到第二个数字的列或字段（包括首个数字）。 数字或数字范围前面可以有一个破折号，它选择从 1 到最后一个数字的所有列或字段。 数字或数字范围后面可以跟一个短划线，它选择从最后一个数字到行尾的所有列或字段。 数字和数字范围可以以任何顺序重复、重叠。 选择输入行中不存在的列或字段不是错误。

选项如下：

[`-b`](#b) list

该 list 指定字节位置。

[`-c`](#c) list

该 list 指定字符位置。

[`-d`](#d) delim

使用 delim 作为字段分隔符而不是制表符。

[`-f`](#f) list

该 list 指定字段，在输入中由字段分隔符分隔（请参阅 `-d` 选项）。 输出字段由一次出现的字段分隔符分隔。

[`-n`](#n)

不要拆分多字节字符。 仅当至少选择了一个字节时才会输出字符，并且在零个或多个未选择字节的前缀之后，选择构成字符的其余字节。

[`-s`](#s)

禁止没有字段分隔符的行。 除非指定，否则不带分隔符的行将不加修改地通过。

[`-w`](#w)

使用空格（空格和制表符）作为分隔符。 连续的空格和制表符算作一个字段分隔符。

## [环境](#__u73AF___u5883_)

`LANG 、 LC_ALL` 和 `LC_CTYPE` 环境变量影响 `cut` 的执行，如 environ(7) 中所述。

## [退出状态](#__u9000___u51FA___u72B6___u6001_)

The `cut` utility exits 0 on success, and >0 if an error occurs.

## [实例](#__u5B9E___u4F8B_)

从系统 passwd(5) 文件中提取用户的登录名和 shell 作为 “name:shell” 对：

`cut -d : -f 1,7 /etc/passwd`

显示当前登录用户的名称和登录时间：

`who | cut -c 1-16,26-38`

## [参见](#__u53C2___u89C1_)

colrm(1), paste(1)

## [标准](#__u6807___u51C6_)

`cut` 实用程序符合 IEEE Std 1003.2-1992 (“POSIX.2”) 。

`-w` 标志是规范的扩展。

## [历史](#__u5386___u53F2_)

在 AT\&T System III UNIX 中出现了 `cut` 命令。

August 3, 2017

FreeBSD 13.1-RELEASE
