textutil是macos内置命令行工具,支持.doc、.docx、.rtf、.html、.txt、.md等格式互转,可通过基础命令、for循环批量处理、find递归转换及参数控制元数据与编码。

如果您希望在Mac系统中通过命令行工具textutil将不同格式的文档(如.doc、.docx、.rtf、.html、.txt等)相互转换,则可以利用系统自带的textutil命令实现。以下是具体的操作方法:
一、基础转换语法与格式支持
textutil是macOS内置的命令行工具,无需额外安装,支持在终端中直接调用。它可处理多种富文本及纯文本格式之间的相互转换,包括.doc、.docx、.rtf、.html、.txt、.md、.webarchive等。转换过程不依赖外部软件,且保留基本排版结构(如标题、段落、列表等),但复杂样式(如嵌入对象、高级CSS)可能丢失。
1、打开“终端”应用程序(可在“应用程序→实用工具”中找到)。
2、输入textutil命令并指定源文件路径、目标格式及输出路径,格式为:textutil -convert [目标格式] [源文件路径] -output [输出路径]。
3、确认目标格式缩写:-convert html 表示转为HTML;-convert txt 表示转为纯文本;-convert rtf 表示转为RTF;-convert doc 表示转为旧版Word文档(.doc);-convert docx 表示转为新版Word文档(.docx)。
二、单个文件格式转换示例
该方法适用于对单个文档执行精确格式转换,操作直观,便于验证输出效果。所有转换均生成新文件,原始文件保持不变。
1、将桌面的report.docx转换为HTML并保存到文档目录:textutil -convert html ~/Desktop/report.docx -output ~/Documents/report.html。
2、将当前目录下的notes.rtf转换为纯文本:textutil -convert txt ./notes.rtf -output ./notes.txt。
3、将index.html转为RTF以便在Pages中进一步编辑:textutil -convert rtf ./index.html -output ./index.rtf。
三、使用for循环批量转换同类型文件
当需要将同一目录下多个文件统一转为目标格式时,可结合shell for循环实现批量处理。该方式避免重复输入命令,提升效率,尤其适合处理大量文档。
PyCharm 2026.2.0.1 Mac版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合在macOS系统上进行 Python 项目开发、运行、调试和测试。
1、进入目标文件所在目录,例如:cd ~/Downloads/documents。
2、将当前目录所有.docx文件转为.html:for f in *.docx; do textutil -convert html "$f" -output "${f%.*}.html"; done。
3、将所有.rtf文件转为.txt:for f in *.rtf; do textutil -convert txt "$f" -output "${f%.*}.txt"; done。
四、递归转换子目录中的匹配文件
若文档分散在多层子目录中,需遍历整个目录树进行转换,此时可结合find命令与textutil配合使用。该方法确保深层嵌套路径下的目标文件不被遗漏。
1、在父目录中执行查找并转换所有.doc文件为.docx:find . -name "*.doc" -exec textutil -convert docx {} -output "{}x" \;。
2、将整个Documents目录及其子目录下所有.html文件转为.txt,并统一存至新建的txt_output文件夹:mkdir -p ~/Documents/txt_output && find ~/Documents -name "*.html" -exec textutil -convert txt {} -output "~/Documents/txt_output/$(basename {} .html).txt" \;。
五、转换时保留或剥离元数据与样式
textutil默认保留基础样式(如加粗、斜体、标题层级),但可通过附加参数控制行为。例如,添加-stdin和-stdout可实现管道式处理;添加-force可覆盖已存在输出文件;添加-format指定输入格式可规避自动识别错误。
1、强制以UTF-8编码读取并转换,避免中文乱码:textutil -convert txt -encoding utf-8 ./chinese.rtf -output ./chinese.txt。
2、忽略原始样式,仅提取纯文本内容(去除所有格式):textutil -convert txt -strip ./formatted.docx -output ./stripped.txt。
3、将Markdown文件转为带样式的HTML(需macOS 13.3+):textutil -convert html -format markdown ./readme.md -output ./readme.html。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










