cut命令用于文本处理。通过选择列,可以使用此命令从文件中提取文本的一部分。
cut介绍
是计算机操作系统LINUX命令之一,可以将其描述为从一行上移除部分内容、选择性显示出已筛选内容的文本操作命令。
格式:
[root@master ~]# cut --help
用法:cut [选项]... [文件]...
Print selected parts of lines from each FILE to standard output.
Mandatory arguments to long options are mandatory for short options too.
-b, --bytes=列表 以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c, --characters=列表 以字符为单位进行分割。
-d, --delimiter=分界符 使用指定分界符代替制表符作为区域分界
-f, --fields=LIST 只选择这些字段; 也打印不包含分隔符的任何行,除非指定了-s选项
-n 取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的范围之内,该字符将被写出;否则该字符将被排除
--complement 补全选中的字节、字符或域
-s, --only-delimited 不打印没有包含分界符的行
--output-delimiter=字符串 使用指定的字符串作为输出分界符,默认采用输入 的分界符
--help 显示此帮助信息并退出
--version 显示版本信息并退出
仅使用f -b, -c 或-f 中的一个。每一个列表都是专门为一个类别作出的,或者您可以用逗号隔
开要同时显示的不同类别。您的输入顺序将作为读取顺序,每个仅能输入一次。
每种参数格式表示范围如下:
N 从第1 个开始数的第N 个字节、字符或域
N- 从第N 个开始到所在行结束的所有字符、字节或域
N-M 从第N 个开始到第M 个之间(包括第M 个)的所有字符、字节或域
-M 从第1 个开始到第M 个之间(包括第M 个)的所有字符、字节或域
当没有文件参数,或者文件不存在时,从标准输入读取
举例
[root@localhost ~]# echo "aaa bb cc dd" | cut -d " " -f 2
bb
[root@localhost ~]# echo "aaa bb cc dd" | tr -s " " | cut -d " " -f 2
bb
总结:cut命令的一个限制是它不支持指定多个字符
作为分隔符。多个空格被视为多个字段分隔符,必须使用tr命令才能得到所需的输出。