首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >grep无法在docx文件中找到文本。

grep无法在docx文件中找到文本。
EN

Ask Ubuntu用户
提问于 2022-08-15 15:52:52
回答 2查看 721关注 0票数 0

我找不到grep为什么找不到单词“coomunities”的文件的原因。我用

代码语言:javascript
运行
复制
grep -ril --include=GLOB "coomunities"  .

注:社区是故意剥落的。该文件是docx,当前具有权限'-rwxrwxrwx‘。我试过了

  • 从同一文件夹或其他文件夹运行
  • 修改后的文件权限
  • 为同一个文件尝试了不同的单词(Ubuntu,linux,读写能力)
  • 特别包括docx扩展
  • 我尝试了搜索猴子的GUI,它可以正确地找到文件,但是在使用grep的任何搜索中,文件似乎都没有出现。有什么想法吗?
EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2022-08-15 16:47:45

很少有问题。

  1. 你不能把docx文件变成grep。Grep处理标准输出文件或文本。Docx是编码的--看看这个如何在Word字段中搜索多个DOCX文件中的字符串? --一种验证这是cat <file>.docx的快速方法,看看结果是否可读。
  2. 在docx问题之外。我没有在grep中使用GLOB,但我的理解是它是相当有限的。你最好用regex。像这样的grep -Ei "coom[^[:space:]]+" *.<File Ext>
  3. 就我个人而言,当我找不到我知道应该在那里的东西时,我会改变针头,而不是干草堆。试试"coom“,甚至"coo”。
  4. 我不认为允许是问题所在。运行cat命令,如果可以读取它,则不需要更改grep的权限。

希望这能帮上忙。

票数 1
EN

Ask Ubuntu用户

发布于 2022-08-15 16:06:00

我想您是从手册页面复制--include=GLOB的。应该用您想要的通配符更改GLOB。例如,要在所有docx文件中查找coomunities一词,您应该使用:

代码语言:javascript
运行
复制
grep -ril --include="*.docx" "coomunities"  .

更别提“同龄人”被拼错了。

您还应该记住,docx文件是专有的二进制文件。所以grep在这种类型的文件中找不到查找词是正常的。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1423723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档