是否有任何实用程序可在ASCII文件中进行字符串搜索以避免命令行搜索?
如何进行命令行搜索,例如在目录中所有文件中搜索字符串“ test” /var/x/
?
是否有任何实用程序可在ASCII文件中进行字符串搜索以避免命令行搜索?
如何进行命令行搜索,例如在目录中所有文件中搜索字符串“ test” /var/x/
?
Answers:
我假设您的第一个问题是关于该grep
命令的GUI替代方案。我不能帮您,我总是觉得命令行非常有效。
至于命令行,请尝试
grep "test" /var/x/*
如果您想进行递归搜索(即,不仅在中/var/x/
,也在其子目录中),请执行
grep -R "test" /var/x/
为了避免重复grep认为是二进制文件,请使用以下-I
选项:
grep -I "test" /var/x/
如果grep认为文件是二进制文件(基于文件的前几个字节),它将假定该文件不匹配,而不是遍历整个文件。
Binary file file.jpg matches
grep
编码方式,尽管我不知道Ubuntu的grep
编写方式是否如此)。
*
路径中的最后斜杠后面应该有一个,否则grep在14.04中似乎没有做任何工作
您可以使用regexxer,它是用于正则表达式的出色GUI搜索/替换工具。
您可以通过以下方式下载:
sudo apt-get install regexxer
尝试Recoll,这是我用过的最好的GUI。要在当前所有受支持的Ubuntu版本中安装recoll,请打开终端并输入:
sudo apt install recoll
首先需要一些时间来索引文件(您可以定义黑名单路径或扩展名或mime)。
gnome-search-tool
还是完全是另一个世界search-monkey
。它使用Xapian的,所以它能够检查和索引Word文档(包括doc和docx),PDF文件,邮件文件夹,等等
sudo apt install recoll
)来使用,并且即使grep失败也可以完成它的工作,例如,使用以pkzip压缩方式压缩的.docx文档。
recoll
首先需要建立索引。
不幸的是,grep在Word(.doc)文件内部搜索时做得很差,但是您可以将catdoc输出通过管道传递到grep。我不是程序员,但是这个小脚本很适合我:
#!/bin/bash
export GREP_OPTIONS='--color=auto'
echo -e "\n
Welcome to scandocs. This will search .doc (NOT .docx) files in this directory for a given string. \n
Type in the text string you want to find... \n"
read response
find . -name "*.doc" |
while read i; do catdoc "$i" |
grep -iH --label="$i" "$response"; done
欢迎所有改进和建议!
grep
和.doc
有问题的事情。
grep
。
我刚刚发布了一个简单的工具来完成这项工作。主要针对软件开发人员,它具有在同一窗口中打开多个文件的(独特?)特性。它使用Ace编辑器(推荐!)或html textarea在浏览器中显示结果。这是一个基于Java的工具,因此它可以在Windows和Linux中运行。
看看这个!
根据https://askubuntu.com/a/1141367/47073
您可以使用mate-search-tool
,这与gnome-search-tool
删除的内容相同。我在使用searchmonkey时遇到问题,它缺少一些结果并且很慢,不建议这样做。
要安装mate-search-tool
:
sudo apt install mate-utils
mate-search-tool