当前位置: 首页 > news >正文

cut命令用法

cut 是 Linux/Unix 系统中一个用于按列提取文本内容的命令,常用于处理结构化文本(如 CSV、日志、配置文件等)。它通过分隔符、字符位置或字节位置来切割文本,提取指定部分。


核心功能

  1. 按字段(列)提取:用分隔符(如逗号、冒号)将文本分割成多列,提取指定列。

  2. 按字符位置提取:直接根据字符的位置提取内容(如第 1-5 个字符)。

  3. 按字节提取:类似字符位置,但按字节处理(对 ASCII 文本效果相同,但对多字节字符需谨慎)。


常用参数

参数作用示例
-d指定字段分隔符(默认是制表符)-d ',' 用逗号分隔
-f选择指定字段(列)-f 1,3 提取第 1 和 3 列
-c按字符位置提取-c 1-5 提取第 1 到 5 个字符
-b按字节位置提取-b 2-4 提取第 2 到 4 个字节
--complement反向选择(提取未指定的部分)-f 2 --complement 提取除第 2 列外的所有内容

使用示例

1. 按分隔符提取字段

假设文件 data.csv 内容为:

Name,Age,City
Alice,25,Beijing
Bob,30,Shanghai
  • 提取第 1 列(姓名):

    cut -d ',' -f 1 data.csv
    Name
    Alice
    Bob
  • 提取第 2 和 3 列(年龄和城市):

    cut -d ',' -f 2,3 data.csv

    输出:

    Age,City
    25,Beijing
    30,Shanghai

2. 按字符位置提取

假设文件 text.txt 内容为:

ABCDEFGHIJKLMN
  • 提取第 3 到 6 个字符

    cut -c 3-6 text.txt
    CDEF

3. 处理系统文件
  • 提取 /etc/passwd 中的用户名(第 1 列,冒号分隔):

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

    输出:

    root
    daemon
    bin
    ...(系统用户列表)

注意事项

  1. 分隔符与字段

    • 默认分隔符是制表符,需用 -d 指定其他字符(如 -d ':')。

    • 如果字段包含分隔符本身(如 "Hello,World"),cut 无法直接处理,需改用 awk 或手动处理。

  2. 多字节字符问题

    • -c 按字符位置切割,适用于 UTF-8 文本。

    • -b 按字节切割,处理非 ASCII 字符(如中文)时可能截断乱码。

  3. 与 awk 的区别

    • cut 更简单高效,适合固定分隔符的简单场景。

    • awk 支持正则表达式分隔符、复杂逻辑,适合灵活处理文本。


经典组合用法

  • 提取日志中的时间戳(假设时间在第 1-15 个字符):

    cat app.log | cut -c 1-15
  • 提取 IP 地址(假设 IP 是第 2 列,空格分隔):

    echo "192.168.1.1 404 GET /api" | cut -d ' ' -f 1
  • 反向提取(排除第 2 列):

    cut -d ',' -f 2 --complement data.csv

总结

cut 是一个轻量级文本处理工具,适合快速提取结构化数据的特定部分。对于复杂需求(如动态分隔符、条件判断),建议使用 awk 或 sed

相关文章:

  • 链表算法中常用操作和技巧
  • istio 灰度实验
  • L2-023 图着色问题 #DFS C++邻接矩阵存图
  • 46. 评论日记
  • 深入解析多功能模糊搜索:构建高效灵活的JavaScript搜索工具析
  • 深度学习中模型量化那些事
  • 解决Long类型前端精度丢失和正常传回后端问题
  • 北大:检索增强LLM推理建模
  • Ubuntu 64-bit 交叉编译 FFmpeg(高级用户指南)
  • 2025AIGC终极形态:多模态(文本/图像/音乐/视频)系统整合
  • 开源软件与自由软件:一场理念与实践的交锋
  • 2024 天梯赛——工业园区建设题解
  • CF2075D Equalization
  • 代码随想录算法训练营Day21
  • Py一阶段习题汇总
  • 微型导轨的制造工艺中,热处理的目的是什么?
  • 202521 | 远程调用 | 注册中心
  • Go语言-初学者日记(六) 并发编程
  • Nginx-keepalived-高可用
  • cpp经典数论问题
  • 漂亮的php网站源码/2023百度秒收录技术
  • 南昌专业网站建设机构/专业培训大全
  • 哪些女性网站做女性慈善事业/b站不收费网站
  • 做悬赏任务的网站/网络营销方法有哪些
  • 济南 网站建设/线上线下整合营销方案
  • 做网站挣钱/灰色关键词代发可测试