zzxworld

Linux cut 命令使用指南

Linux cut 命令使用指南

cut 命令在 Linux 系统中用来提取文件每一行的内容片段。如同 cut 这个英文单词的意思一样,剪切内容并提供给标准输出(Stdout)。

cut 命令格式

cut 选项... [文件]...

cut 命令的选项为必须提供的命名参数,文件为可选参数。如果不提供文件参数,cut 命令默认会从标准输入读取数据。

cut 命令示例

以 Linux 系统的用户配置文件 /etc/passwd 为例,假设要获取这个文件中的所有用户名,可以使用如下命令:

cut -d ':' -f 1 /etc/passwd

如果是获取每个用户所用的 Shell,只需要稍微修改一下 -f 选项的值:

cut -d ':' -f 6 /etc/passwd

使用 -f 选项值的范围选择格式,还能达到同时返回用户名和 Shell 的目的:

cut -d ':' -f 1,6 /etc/passwd

使用 -b 选项可以获取每个用户开头的字符:

cut -b 1 /etc/passwd

这个命令的使用并不复杂,参考下面的命令选项列表,以及最后的范围选择符格式说明基本就能掌握。

cut 命令选项

缩写 完整名称 说明
-b, --bytes=列表 只选中指定的这些字节。
-c, --characters=列表 只选中指定的这些字符。
-d, --delimiter=分界符 使用指定分界符代替制表符作为区域分界。
-f, --fields=列表 只选中指定的这些域;并打印所有不包含分界符的行,除非-s 选项被指定。
--complement 补全选中的字节、字符或域。
-s --only-delimited 不打印没有包含分界符的行。
--output-delimiter=字符串 使用指定的字符串作为输出分界符,默认采用输入的分界符。
-z --zero-terminated NUL 字符而非换行符作为行尾分隔符。
--help 显示此帮助信息并退出。
--version 显示版本信息并退出。

在使用 -b-c 或是 -f 选项时,需要提供一个列表参数值,这个列表由数字组成,可以用 , 逗号的方式来提供一个范围值。这个列表参数值的有效格式如下:

  • N: 第 N 个字节,字符或字段, 从 1 开始计数。
  • N-: 从第 N 个字节, 字符或字段直至行尾。
  • N-M: 从第 N 到 第 M (并包括第 M) 个字节,字符或字段。
  • -M: 从第 1 到第 M (并包括第 M) 个字节,字符或字段。