Linux 中文本处理:cut 和 awk命令
cut和awk都是 Linux 中用于文本处理的命令行工具常用于从文件或数据流中提取、处理和分析文本。cut偏向简单、快速的列提取而awk是一个完整的文本处理编程语言功能强大得多。一、cut命令简单列提取cut用于按列字段或字符位置从文本中提取数据适合处理结构化的表格数据如 CSV、日志。1. 基本语法cut -d 分隔符 -f 字段列表 文件 cut -c 字符范围 文件2. 常用选项选项含义示例-d指定字段分隔符默认是制表符\t-d,指定逗号分隔-f指定要提取的字段列-f1,3提取第1和第3列-c按字符位置提取-c1-5提取第1到第5个字符--complement提取指定字段以外的字段-f2 --complement提取除第2列外的所有列3. 使用示例示例 1提取 CSV 文件中的列# 假设 data.csv 内容 # 姓名,年龄,城市 # Alice,25,北京 # Bob,30,上海 # 提取第 1 列和第 3 列 cut -d, -f1,3 data.csv # 输出 # 姓名,城市 # Alice,北京 # Bob,上海 # 提取第 2 列年龄 cut -d, -f2 data.csv # 输出 # 年龄 # 25 # 30示例 2提取日志文件中的特定字段# 提取 /etc/passwd 中的用户名第1列和 shell第7列 cut -d: -f1,7 /etc/passwd | head -3 # 输出 # root:/bin/bash # daemon:/usr/sbin/nologin # bin:/usr/sbin/nologin示例 3按字符位置提取# 提取每行的前 10 个字符 cut -c1-10 file.txt # 提取每行的第 5 到第 15 个字符 cut -c5-15 file.txt # 提取每行的第 10 个字符 cut -c10 file.txt示例 4配合管道使用# 查看占用内存前 5 的进程提取 PID 和 CMD ps aux --sort-%mem | head -6 | tail -5 | cut -c10-20,50-二、awk命令文本处理编程语言awk是一个强大的文本分析工具它更像一门编程语言支持变量、条件判断、循环、数组等适合更复杂的文本处理任务。1. 基本语法awk 模式 { 动作 } 文件模式条件如NR1、/error/动作对匹配行执行的操作如print $1、sum$32. 常用内置变量变量含义$0整行内容$1,$2...第1列、第2列...NF当前行的列数Number of FieldsNR行号从1开始FS输入字段分隔符Field SeparatorOFS输出字段分隔符RS输入记录分隔符行分隔符ORS输出记录分隔符3. 使用示例示例 1打印整行或特定列# 打印整行 awk {print $0} file.txt # 打印第1列和第3列默认以空格分隔 awk {print $1, $3} file.txt # 打印第2列和第5列用逗号分隔 awk {print $2 , $5} file.txt # 打印文件中的第 2 列 awk {print $2} data.txt示例 2指定分隔符# 处理 CSV逗号分隔 awk -F, {print $1, $3} data.csv # 等价于 awk BEGIN{FS,} {print $1, $3} data.csv # 处理 /etc/passwd冒号分隔 awk -F: {print $1, $7} /etc/passwd示例 3条件过滤# 打印文件头第1行 awk NR1 file.txt # 打印第 10 到第 20 行 awk NR10 NR20 file.txt # 打印包含 error 的行 awk /error/ {print $0} log.txt # 打印第3列大于50的行 awk $3 50 {print $0} scores.txt # 打印第2列以 /bin/ 开头的行 awk $2 ~ /^\/bin\// {print $0} file.txt示例 4计算和统计# 计算第3列的总和 awk {sum $3} END {print 总和:, sum} data.txt # 计算行数 awk END {print 总行数:, NR} file.txt # 计算第3列的平均值 awk {sum $3} END {print 平均值:, sum / NR} data.txt # 统计每行的列数 awk {print NF, $0} file.txt示例 5格式化输出# 自定义输出格式 awk {printf 姓名: %-10s 年龄: %3d\n, $1, $2} data.txt # 添加表头 awk BEGIN{print 姓名\t年龄} {print $1\t$2} data.txt三、cutvsawk对比特性cutawk功能简单的列提取完整的文本处理语言编程能力无支持变量、循环、数组、条件判断复杂计算不支持支持分隔符单个字符支持正则表达式学习难度低中等适用场景快速、简单的列提取复杂的文本处理和数据分析

相关新闻

OpenClaw离线安装包部署详细教程,TopClaw免网络也能三步完成中文版

OpenClaw离线安装包部署详细教程,TopClaw免网络也能三步完成中文版

作为一个喜欢折腾工具的老玩家,我深知“没网”的痛。很多时候我们兴致勃勃地下载了一个开源项目,结果安装时才发现它需要从远程拉取一堆依赖,而环境偏偏是内网、机房或弱网,那种心情简直像做菜做到一半发现煤气罐空了。OpenClaw就…

2026/10/27 22:23:51 阅读更多 →
ARINC 573/717帧同步字:从标准误解到工程实践的关键解析

ARINC 573/717帧同步字:从标准误解到工程实践的关键解析

1. 项目概述:一个看似简单却常被误读的航空数据基石在航空电子数据记录与处理领域,ARINC 573和ARINC 717标准是绕不开的基石。无论是飞行数据记录器(FDR)的原始数据流,还是飞机状态监控系统(ACMS&#xff0…

2026/10/26 20:10:46 阅读更多 →
Android WebView 深度解析:从内核选型、性能优化到安全加固的完整指南

Android WebView 深度解析:从内核选型、性能优化到安全加固的完整指南

1. 项目概述:为什么我们需要重新审视 WebView?在 Android 开发领域,WebView 是一个既熟悉又陌生的组件。几乎每个开发者都知道它,用它来加载一个网页链接,实现一个简单的内置浏览器功能,似乎轻而易举。但当…

2026/10/26 20:50:01 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/27 17:33:32 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/27 4:06:49 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/27 7:21:53 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/27 18:20:50 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/27 6:20:47 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/27 4:06:50 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 13:55:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 7:21:50 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 19:19:37 阅读更多 →