概述
在 Linux 运维管理与数据预处理任务中,高效检索海量日志和规整文本是系统工程师的必备功底。相较于结构更庞大的 awk 或 sed,GNU 核心工具集中的 cut 命令以轻量、极速和专注著称。本文以 Ubuntu 环境为基准,系统梳理如何依据分隔符、列字段、字符坐标及字节偏移等维度裁剪文本,配合动手实验掌握核心要领。
构建隔离演练环境与测试数据源
为了避免实验过程对现有工作区造成污染,首先建立一个独立的测试目录并切换至该路径下,运行 mkdir -p ~/cut_practice && cd ~/cut_practice。

针对以冒号(:)为定界符的类 /etc/passwd 数据处理场景,利用 printf 构建一份模拟的员工档案表并写入 users.txt。

随后,为了演示逗号分隔值(CSV)格式的解析,使用 printf 编写包含服务器连通状态与响应码的记录文件 servers.csv。

执行 cat users.txt 命令,核查各行所包含的工号、姓名、职能与部门信息是否均已按照指定的冒号结构规整排布。

同样,通过 cat servers.csv 快速确认节点代号、局域网 IP 与 HTTP 返回状态等各字段是否均以标准英文逗号妥善分隔。

依托定界符 (-d) 与字段 (-f) 精准抓取数据列
从结构化数据中剥离单一维度的信息时,运行 cut -d ':' -f 1 users.txt 即可轻松将首列员工工号完全剥离出来。
其中 -d ':' 显式指定冒号作为分列边界,搭配 -f 1 仅截取第一列字段,终端便会输出纯净的 ID 序列。

若需要跨列选取若干离散的字段组合,可以使用逗号罗列索引号,执行 cut -d ':' -f 2,4 users.txt。
该指令会精准锁定并提取出第 2 字段(员工姓名)与第 4 字段(所属部门),中间自动保留原数据中的冒号连接。

面对需要连续截取多列的场景,借助短横线连接起止位置即可,例如执行 cut -d ',' -f 1-3 servers.csv。
设定 -d ',' 识别 CSV 逗号后,通过 -f 1-3 一次性打包导出第 1 到第 3 列的全部内容,涵盖主机标识、IP 地址以及状态标志。

当分析需求要求从某个中间列开始一路读取至行尾时,使用开放区间语法最为便捷,运行 cut -d ':' -f 2- users.txt。
参数 -f 2- 省略了终止索引,系统将自动跳过第 1 列的工号,把后续从第 2 列开始直到末尾的角色与架构信息统统完整拉取。

按字符位置 (-c) 与字节偏移 (-b) 实施定宽切片
对于非定界符分割的定宽格式文本,依据字符绝对坐标裁剪显得十分高效,执行 cut -c 1-5 users.txt。
通过 -c 1-5 开关,工具将无视任何分隔逻辑,纯粹按照前 5 个字符的位置跨度,机械截断并回显该切片。

若要提取位于文本中段的特定长度片段,指定起止字符范围即可,执行 cut -c 5-15 users.txt。
设置 -c 5-15 能精准圈出每行第 5 个至第 15 个字符之间的文本片段,滤除两侧无关字符。

在面对纯 ASCII 字符流或底层定宽字节流的解析中,基于字节维度抽取可保障极高的一致性,运行 cut -b 1-8 servers.csv。
借助 -b 1-8 限制每行仅截取前 8 个字节的存储长度,迅速将行首固定长度的主机标识名整理出来。

进阶技巧:重置输出分隔符与反向排除字段 (–complement)
在抽取指定列的同时优化终端可读性,可利用 --output-delimiter 自定义格式,运行 cut -d ':' -f 1,2,4 --output-delimiter=' | ' users.txt。
该指令在过滤出第 1、2、4 列的同时,将原本紧凑的冒号替换为更醒目的带空格管道符 |,使数据输出如表格般清晰。

当只需要剔除极少数冗余列而保留绝大部分字段时,启用反向筛选会更高效,执行 cut -d ',' --complement -f 2 servers.csv。
在追加 --complement 选项后,-f 2 不再代表保留而是代表反向剔除第 2 列,其余第 1、3、4 列全部得以完整展示。

在处理格式不一的脏日志流时,为了规避那些缺失分隔符的无效干扰行,可执行 cut -d ':' -s -f 2 users.txt。
参数 -s(即 --only-delimited)能够过滤掉所有未包含指定定界符的整行数据,严格保证仅在合法行中解析第 2 列的名字。

以上便是 Ubuntu 环境下运用 cut 工具对常见结构化文本进行高效裁剪与切分的实战要点。
依据实际的数据组织特征(定界流、定长字符或固定字节)选用对应参数,并在脚本中结合管道与其他命令协同作业,将显著加快日志排查与文本清洗的效率。