Microsoft Word中的Grep?


10

Microsoft Word中的Grep?

我想从Word文档中提取具有给定字符串的所有行。在unix世界中... grep可以做到这一点。Windows对我而言并不明显。

Answers:


10

使用Cygwin(或访问Linux机器),您可以

antiword file.doc | grep "my phrase"

要么

catdoc file.doc | grep "my phrase"

有很多命令行文件格式转换器可以类似的方式用于grep

纯粹的Word解决方案可以是Ctrl + F(查找),然后是“ 查找全部” -但是,我不确定所有版本的MS Word是否都具有“ 查找全部”按钮。


2
当我看到问题标题时,我以为“哈!那很好,不是吗”。我再也不应低估GNU程序员。
Phoshi

我给它的catdoc每个.doc/ .docx文件上的segfaults 最新版本,antiword只是告诉我我的文档“不是Word文档”。您知道其他选择吗?
2014年

我没用过...快速搜索显示docx2txtDebian存储库中存在-可能有用。我还将研究OpenOffice / LibreOffice命令行格式转换实用程序(unoconv),该实用程序可用于相同目的。
chronos 2014年

3

我知道这听起来很原始,但是是什么使您无法将文件另存为.txt,然后按自己的喜好将其分开。


2
有成百上千的人这样做是什么。
tchrist

1

“线”在Word上下文中是什么意思?显示的行,如果您对页面格式进行任何操作,哪一行会更改?这段落?还有吗

您可以使用Word的查找和替换功能来做很多事情,包括更改格式和其他非显而易见的内容,但是所有这些都只会作用于“查找内容”文本本身,而不会作用于任何周围的文本。


但是,grep拥有该正则表达式!
Phoshi

1

我已将CRGREP中的 MS文档(Word,PowerPoint,Excel)支持为免费开源工具。它也使其他难以搜索的东西变得难以捉摸,例如数据库表,图像,音频,档案,PDF及其组合。玩得开心。



0

没有足够的代表对此发表评论,但我可以看到讨论了doc vs docx的问题,因此任何追随该线程的人(如我一样)都可能会有所帮助。

您不需要用于docx文件的特殊工具。docx是压缩的XML文件。

要提取和剥离XML,请尝试基于

unzip -p "*.docx" word/document.xml | sed -e 's/<[^>]\{1,\}>//g; s/[^[:print:]]\{1,\}//g'

命令行拂


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.