手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

cut(1)

名称

cut - 从文件的每个行中剪切选定的字段

用法概要

/usr/bin/cut -b list [–n] [file]...
/usr/bin/cut -c list [file]...
/usr/bin/cut -f list [–d delim] [–s] [file]...

描述

cut 从一个或多个文件中剪切字节、字符或者以字符分隔的字段,并在标准输出上将其串联起来。

option 参数列表是以逗号或空格分隔的正数和范围的列表。范围可以采用三种形式。第一种是以连字符分隔的两个正整数 (low-high),这表示从 low 到 high 的所有字段。第二种是前面带有连字符的一个正数 (-high),这表示从字段 1 到 high 的所有字段。第三种是后面跟有连字符的一个正数 (low-),这表示从 low 到最后一个字段的所有字段(包括两者)。list 中的元素可以重复,可以交迭,并且可以按任何顺序出现。输出顺序与输入顺序相同。

必须指定并且只能指定 –b–c–f 选项中的一个。

如果未指定 file 或者 file 为 -,则 cut 将从标准输入进行剪切。文件的开头被定义为当前偏移。

选项

支持以下选项:

–b list

跟在 –b 后的 list 指定字节位置(例如,–b1-72 将传递每行的前 72 个字节)。当同时使用了 –b–n 时,将对 list 进行调整以便不拆分多字节字符。

–c list

跟在 –c 后的 list 指定字符位置(例如,–c1-72 将传递每行的前 72 个字符)。

–d delim

跟在 –d 后的字符是字段分隔符(仅限 –f 选项)。缺省值为 TAB。空格或者对 shell 而言具有特殊含义的其他字符必须用引号括起来。delim 可以是多字节字符。

–f list

跟在 –f 后的 list 是所采用的在文件中由某个分隔符分隔的字段的列表(请参见 –d);例如,–f1,7 将仅复制第一个和第七个字段。没有字段分隔符的行将原样传递(适合用于表格的小标题),除非指定了 –s

–n

不拆分字符。当同时使用了 –b list 和 –n 时,将对 list 进行调整以便不拆分多字节字符。

–s

当使用了 -f 选项时,将抑制没有分隔符的行。除非指定本选项,否则,没有分隔符的行将原样传递。

操作数

支持下列操作数:

file

输入文件的路径名称。如果未指定 file 操作数或者 file 操作数为 -,则将使用标准输入。

用法

有关 cut 遇到大于或等于 2 GB(231 字节)文件时行为的说明,请参见 largefile(5)

示例

示例 1 映射用户 ID

下面是从用户 ID 到用户名的映射:

example% cut -d: -f1,5 /etc/passwd
示例 2 设置当前登录名

name 设置为当前登录名:

example$ name=$(who am i | cut -f1 -d' ')

环境变量

有关影响 cut 执行的以下环境变量的说明,请参见 environ(5):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES 和 NLSPATH。

退出状态

将返回以下退出值:

0

所有输入文件都已成功输出。

>0

出现错误。

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os
CSI
Enabled(已启用)
接口稳定性
Committed(已确定)
标准
请参见 standards(5)

另请参见

grep(1)paste(1)attributes(5)environ(5)largefile(5)standards(5)