macos终端文本处理命令是开箱即用的核心工具,通过head/tail查看日志、grep精准搜索、cut/awk提取字段、sed流式编辑,配合管道与重定向高效完成日常开发任务。
macos 终端开发环境里,文本处理命令是日常写代码、查日志、改配置的核心工具。它们不依赖第三方软件,开箱即用,配合管道 | 和重定向 >,能快速完成筛选、提取、替换等任务。
快速查看与截取内容
大文件不能直接用 cat 一屏刷完,容易错过重点。优先用 head 和 tail 看开头或结尾:
-
head -n 20 file.log:显示前 20 行,适合看启动日志或配置头 -
tail -n 15 config.json:显示最后 15 行,常用于确认末尾格式是否正确 -
tail -f server.log:实时追踪日志变化(按Ctrl+C退出) -
less filename.md:分页浏览,支持搜索(按/输入关键词)、上下翻(方向键)、退出(q)
精准搜索关键词
grep 是开发者最常调用的“文本放大镜”,尤其适合在源码、日志、配置中定位问题:
-
grep "error" app.log:找出含 error 的所有行 -
grep -i "warning" *.js:忽略大小写,在所有 .js 文件中搜索 warning -
grep -r "API_TIMEOUT" ./src/:递归搜索整个 src 目录下的匹配项 -
grep -v "DEBUG" log.txt:反向筛选,排除含 DEBUG 的行 -
grep -n "export default" index.ts:显示匹配行的行号,方便跳转编辑
提取与裁剪字段
面对 CSV、日志、命令输出等结构化文本,cut 和 awk 能快速拆解字段:
-
ps aux | grep node | cut -d' ' -f2:从进程列表中提取 PID(以空格为分隔符,取第 2 字段) -
df -h | awk '{print $5, $1}':打印磁盘使用率和对应挂载点($5 是 Use%,$1 是 Filesystem) -
echo "a,b,c,d" | cut -d',' -f2-4:按逗号切分,取第 2 到第 4 个字段(结果:b,c,d) -
awk -F':' '{print $1, $6}' /etc/passwd:以冒号为分隔符,打印用户名和家目录
简单替换与流式编辑
不需要打开编辑器就能批量修改文本内容,sed 是最轻量的“脚本化编辑器”:
-
sed 's/old/new/g' file.txt:全局替换 old 为 new(仅输出,不改原文件) -
sed -i '' 's/https/http/g' *.md:就地修改所有 .md 文件中的 https → http(macOS 中-i ''是必需写法) -
sed -n '5,10p' script.sh:只打印第 5 到第 10 行 - 配合管道:
git status | sed -n '/modified:/,/^$/p':提取 git status 中 “modified:” 开始到下一个空行之间的内容











