Linux cut命令教程:如何高效地处理文本(附案例详解和注意事项)

发布时间:2023年12月25日

Linux cut命令介绍

cut命令是一个命令行实用程序,它允许你从指定的文件或管道数据中剪切出部分内容,并将结果打印到标准输出。该命令通过字段、分隔符、字节位置和字符来剪切行的部分。

Linux cut命令适用的Linux版本

cut命令在所有主流的Linux发行版中都可以使用,包括但不限于Ubuntu, Debian, Fedora, CentOS等。如果你发现你的系统中没有预装这个命令,你可以通过包管理器来安装它。例如,在基于Debian的系统中,你可以使用apt-get来安装:

[linux@bashcommandnotfound.cn ~]$ sudo apt-get install coreutils

在CentOS 7中,你可以使用yum来安装:

[linux@bashcommandnotfound.cn ~]$ sudo yum install coreutils

在CentOS 8中,你可以使用dnf来安装:

[linux@bashcommandnotfound.cn ~]$ sudo dnf install coreutils

Linux cut命令的基本语法

cut命令的基本语法如下:

cut [option] [file]

其中,[option]是必须的,否则命令会输出错误。[file]是你想要处理的文件的名称。如果不指定文件名,cut命令会从标准输入读取,此时cut会过滤管道。如果你指定了多个文件名,cut命令会连接请求的内容。

Linux cut命令的常用选项或参数说明

以下是cut命令的一些常用选项12:

选项描述
-f (–fields=LIST)使用指定的字段、字段集或字段范围进行选择
-b (–bytes=LIST)使用指定的字节、字节集或字节范围进行选择
-c (–characters=LIST)使用指定的字符、字符集或字符范围进行选择
-d (–delimiter)用于指定分隔符,而不是默认的TAB分隔符
–complement当指定时,此选项指示cut显示所有字节、字符或字段,除了所选的
-s (–only-delimited)默认设置是打印不包含分隔符字符的行。指定-s选项指示cut不打印不包含分隔符的行
–output-delimiter默认情况下,cut使用输入分隔符作为输出分隔符。指定–output-delimiter选项允许你指定不同的输出分隔符

Linux cut命令的实例

以下是一些cut命令的实例12:

实例1:按字节剪切

[linux@bashcommandnotfound.cn ~]$ echo 'how-to geek' | cut -b 5

这个命令会输出字符串"how-to geek"的第5个字节,也就是"t"。

实例2:按范围剪切

[linux@bashcommandnotfound.cn ~]$ echo 'how-to geek' | cut -b 5-11

这个命令会输出字符串"how-to geek"的第5个到第11个字节,也就是"to geek"。

实例3:按字段剪切

[linux@bashcommandnotfound.cn ~]$ echo 'how-to geek' | cut -d' ' -f2

这个命令会输出字符串"how-to geek"的第2个字段(以空格为分隔符),也就是"geek"。

实例4:按字段剪切,使用自定义分隔符

[linux@bashcommandnotfound.cn ~]$ echo 'how-to-geek' | cut -d'-' -f2

这个命令会输出字符串"how-to-geek"的第2个字段(以"-“为分隔符),也就是"to”。

实例5:按字段剪切,使用自定义分隔符,并且只显示包含分隔符的行

[linux@bashcommandnotfound.cn ~]$ echo -e 'how-to-geek\nhowtogeek' | cut -d'-' -f2 -s

这个命令会输出字符串"how-to-geek\nhowtogeek"的第2个字段(以"-“为分隔符),并且只显示包含”-“的行,也就是"to”。

实例6:按字节剪切,使用补集选项

[linux@bashcommandnotfound.cn ~]$ echo 'how-to geek' | cut -b 1-3 --complement

这个命令会输出字符串"how-to geek"的除了第1个到第3个字节以外的所有字节,也就是"-to geek"。

实例7:按字段剪切,使用自定义输入和输出分隔符

[linux@bashcommandnotfound.cn ~]$ echo 'how-to-geek' | cut -d'-' -f2 --output-delimiter=':'

这个命令会输出字符串"how-to-geek"的第2个字段(以"-“为分隔符),并且使用”:“作为输出分隔符,也就是”:to:"。

Linux cut命令的注意事项

  • 在处理非英文的文件或命令输出时,注意文件或命令输出的区域设置。在非英文语言中,剪切字符或字节可能会产生错误的输出,如果该字符的长度超过一个字节。
  • 如果你在尝试使用cut命令时遇到了"bash: cut: command not found"的错误,那么你可能需要安装coreutils包来获取cut命令。

更多详细内容可以参考:
linux入门学习教程 - Linux入门自学网
Linux下cut命令用法详解:如何从文件或标准输入中提取列

文章来源:https://blog.csdn.net/u012964600/article/details/135078290
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。