Linux 的 cut 命令

Linux 的 cut 命令是一个用于文本处理的实用工具,主要用于从文件或标准输入中提取特定部分。它通常与其他命令结合使用,在数据处理和脚本编写中非常有用。

基本语法

复制代码
cut [选项] [文件]

常用选项

  1. -b:按字节截取
  2. -c:按字符截取
  3. -f:按字段截取(默认使用制表符作为分隔符)
  4. -d:指定字段分隔符(常与 -f 配合使用)
  5. --complement:显示未被选中的部分

使用示例

1. 按字符截取
bash 复制代码
echo "abcdef" | cut -c 2-4

输出:bcd(提取第2到第4个字符)

2. 按字段截取

假设文件 data.txt 内容为:

复制代码
Alice:25:Engineer
Bob:30:Teacher
bash 复制代码
cut -d ':' -f 1,3 data.txt

输出:

复制代码
Alice:Engineer
Bob:Teacher

(使用冒号作为分隔符,提取第1和第3个字段)

3. 结合其他命令使用
bash 复制代码
ps aux | cut -d ' ' -f 1 | sort | uniq

这个管道组合:

  1. 获取所有进程信息
  2. 提取用户名(第1个字段)
  3. 排序
  4. 去重

注意事项

  1. 默认字段分隔符是制表符,使用 -d 可以指定其他分隔符
  2. 字段编号从1开始
  3. 可以指定范围:
    • N:第N个字段/字符
    • N-M:从N到M
    • N-:从N到最后
    • -M:从开始到M

应用场景

  1. 日志分析:提取特定字段
  2. 数据清洗:处理CSV/TSV文件
  3. 系统监控:提取进程信息
  4. 脚本编写:快速处理文本数据

cut 命令简单高效,特别适合处理结构化文本数据,是Linux文本处理工具箱中的重要组成部分。

Linux 的 cut 命令

相关推荐
这个DBA有点耶1 小时前
数据融合平台的下一代形态:数据库内核自己就能融合,为什么还要ETL?
数据库·架构·aigc
本人手速666+1 小时前
企微开发API如何设计客户冻结状态?WeComApi 在删除、投诉和异常客户场景中的自动化边界
运维·分布式·自动化·企业微信·企微外部群开发·wecomapi·企业微信二次开发
一只专注api接口开发的技术猿1 小时前
告别手工复制粘贴:搭建电商商品自动化监控与数据分析实践
大数据·运维·数据挖掘·数据分析·自动化
数据库小学妹1 小时前
MySQL大表怎么优化?2亿行表的分区归档与冷热分离实战
数据库·mysql·分库分表·分区表·数据库运维·冷热分离
91刘仁德1 小时前
RAG实战 - 向量数据库(Milvus)
数据库·milvus
资深技术分享员1 小时前
Geejing WebBuilder 日志、在线用户、系统监控,出问题时的三个第一现场
java·运维·数据库
wtblszn1 小时前
光伏发电与光热发电有什么区别
大数据·运维·物联网
锅巴编程2 小时前
nginx-413-client-max-body-size
运维·nginx
GeW2 小时前
从代码到共识:技术突围如何映照大国相处之道
linux
我是小白呀2 小时前
n8n 实战:把 AcmeFlow 的 READY 事件接到 CRM 通知
数据库·人工智能·workflow