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

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命令的一些常用选项¹²:

选项描述
-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命令的实例¹²:

实例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命令用法详解:如何从文件或标准输入中提取列

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517534.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

秒杀场景_解决秒杀超卖问题_04

文章目录一、商品微服务改造二、秒杀微服务改造2.1. SkillGoodService 改造2.2. MutilThreadOrder 改造一、商品微服务改造 SkillGoodService改造 package com.gblfy.service;import com.gblfy.dao.SkillGoodRepository; import com.gblfy.entity.SkillGood; import lombok.R…

初识 Knative: 跨平台的 Serverless 编排框架

Knative 是什么 Knative 是 Google 在 2018 的 Google Cloud Next 大会上发布的一款基于 Kubernetes 的 Serverless 框架。Knative 一个很重要的目标就是制定云原生、跨平台的 Serverless 编排标准。Knative 是通过整合容器构建(或者函数)、工作负载管理(和动态扩缩)以及事件模…

python使用PyMysql连接MySQL实现增删改查

文章目录一、安装PyMysql:1.方式一:使用命令行2.方式二:通过PyCharm编译器二、操作MySQL数据库步骤1. 使用import导入相应的类2.获得数据库的连接3.创建游标对象4.执行SQL语句5.关闭数据库连接三、案例1. 查询单条数据2. 查询多条数据3.创建数…

一分钟解决 Github 访问慢

文章目录1. 获取域名对应的ip2. 复制ip3. 配置hostsgithub.com对应的ip有多个选一个响应快的即可,但是一直在变,用的时候,设置一次即可 1. 获取域名对应的ip https://tool.chinaz.com/dns/?type1&hostgithub.com&ip 2. 复制ip 3. …

做一个高一致性、高性能的Flutter动态渲染,真的很难么?

Flutter动态模板渲染架构升级 ​ 最近小组在尝试使用集团DinamicX的DSL,通过下发DSL模板,实现Flutter端的动态化模板渲染。我们解决了性能方面的问题后,又面临了一个新的挑战——渲染一致性。我们该如何在不降低渲染性能的前提下&#xff0c…

数据科学产业中哪些架构最热门?本文为你盘点了 5 款!

作者 | Sai Krishna译者 | 火火酱,责编 | Carol封图 | CSDN 付费下载自视觉中国地球上的数据量每分每秒都在增加,海量的数据源源不断地从四面八方涌入各种机构组织,而这些数据最终或许会成为能够指引我们做出战略决策的宝贵财富。这就是数据科…

面向云原生的混沌工程工具-ChaosBlade

作者 | 肖长军(穹谷)阿里云智能事业群技术专家 导读:随着云原生系统的演进,如何保障系统的稳定性受到很大的挑战,混沌工程通过反脆弱思想,对系统注入故障,提前发现系统问题,提升系…

SpringBoot2 中 spring.http.multipart.max-file-size 报错问题

由于springboot具有几个版本,不同版本对于文件上传最大限制的配置也有所不同。 所以要注意springboot本身的版本,不然会一直报错# 在springboot1.3版本中: multipart.maxFileSize# 在springboot1.4与springboot1.5版本中: spring.…

centOS docker容器的安装

文章目录一、docker安装步骤1.卸载旧版本2.安装依赖3.添加镜像源4.查看仓库中的所有docker版本5.安装docker6.启动docker7.设置开机自启动docker8.查看docker是否安装成功9.卸载docker一、docker安装步骤 提示:安装之前可以使用命令:yum check-update检查…

泡着枸杞写bug的三流程序员凭什么逆袭到一线大厂?

大多数互联网的从业者都有一个梦想:进大厂。因为不仅可以享受较好的福利待遇,也能与更优秀的人一起共事,获得更专业、更快速的成长。最近经常有朋友提及想要入门编程学习,该如何学习?关于编程学习,各种语言…

哪种人是软件设计中的稀缺型人才?

阿里妹导读:好的系统架构离不开好的接口设计,因此,真正懂接口设计的人往往是软件设计队伍中的稀缺型人才。 为什么在接口制定标准中说:一流的企业做标准,二流的企业做品牌,三流的企业做产品?依赖…

editor.md 实现拖拽剪切复制粘贴上传图片,文件插件

editor.md作为一款Markdown编辑器,界面美观,功能强大 但是图片,文件上传方面缺少了剪切,拖拽上传,有那么一点每中不足,下面就简单实现一个,废话不多说,直接上代码。 文章目录1. 新增uploadImg.js2. 页面引入uploadImg.js3. 初始化插件4. 添加支持的后缀1…

快速Ubuntu的配置(以ubuntu 20.04桌面版为例)

文章目录一、💖更换镜像源二、💖安装VMware Tools工具三、💖安装Google浏览器四、💖安装搜狗输入法五、💖安装C/C开发工具Clion🍀1.安装编译环境🍀2.安装开发环境一、💖更换镜像源 …

阿里工程师太凶残了,竟把服务器泡在“水里”!

万众瞩目的第11个双11要来了!这次天猫说要帮大家省500亿,身边加购物车、组队盖楼的同学数不胜数,热闹非凡。 但在阿里,有一位低调的“高冷男”,丝毫不为红红火火的双11所动,依然稳如磐石、淡定自若。 他的…

“我今年 31 岁,工作 7 年,明年退休...”

凌晨 1:30 的北京,商务楼静静地伫立着,街道上的车水马龙,慢慢地停歇了,只有他的工作台灯还没有休息,台灯忽明忽暗地坚持着。凌晨 2:00 的闹钟忍不住提醒他,电脑也偷偷跳出窗口:“主人&#xff0…

据说这是双11前互联网人的一天~

双11前,据说互联网人的一天是这样度过.... 6段故事,6个黑话关键词,生动刻画了双11前互联网人的一天! 上午9点,运营找老板汇报双11方案。 运营说:老板,本次营销方案你看需要一些预算资源支持&a…

快速入门docker容器

文章目录🌲1.拉取一个镜像🌲2. 在docker里启动一个镜像🌲3.查看所有的镜像列表🌲4.删除镜像🌲5.删除全部image镜像🌲6.运行tomcat🌲7.删除所有未运行的容器🌲8.以守护态运行容器&…

前台传String日期格式后台用Date类型接收

在接收实体的这个字段上添加注解 DateTimeFormat(pattern "yyyy-MM-dd")是后台date传到前台展示时可以帮你转成String JsonFormat(pattern "yyyy-MM-dd", timezone "GMT8")

不会玩游戏的程序员不是好作家,《深入理解Java虚拟机》周志明来了!

嘉宾:周志明、杨福川采访、撰文:Satoh_AI这次采访起源来自于我和豆瓣的一位读者有同样的好奇心,为什么网上搜不到周志明老师的更多信息?为什么“80后玩家”可以把本本书都维持在9.0分左右?他的“社恐”到底有多严重?所…

当手机淘宝遇见折叠屏,让购物更随心

华为 5G 新品发布会上,Mate X 正式亮相,淘宝也作为重点展示应用出现在发布会的 PPT 上,同时也成为折叠屏生态联盟应用矩阵的第一位。 现场华为折叠屏上的淘宝多任务演示 伴随手淘技术团队对华为折叠屏适配工作的展开。半年前还只是概念方案的…