有没有任何实用工具可以在ASCII文件中进行字符串搜索以避免使用命令行搜索?
如何在命令行中进行搜索,例如在目录/var/x/
中的所有文件中搜索字符串"test"?
有没有任何实用工具可以在ASCII文件中进行字符串搜索以避免使用命令行搜索?
如何在命令行中进行搜索,例如在目录/var/x/
中的所有文件中搜索字符串"test"?
grep
命令的图形界面替代方案。对此我无能为力,因为我总是觉得命令行非常有效。grep "test" /var/x/*
/var/x/
目录下搜索,还包括其子目录),请执行以下操作:grep -R "test" /var/x/
-I
选项:grep -I "test" /var/x/
二进制文件 file.jpg 匹配
。 - Januarygrep
合理的编码方式,尽管我不知道Ubuntu的grep
是如何编写的),这可能会导致性能问题。 - Eliah Kaganapt-get source grep
查看源代码),简而言之,它会将长行分块读取。 - January*
,否则在14.04中grep似乎不会执行任何工作。 - DavidScherergrep
有没有选项可以打印出与字符串匹配的实际行?目前我只得到Binary file myFile.pdf matches
。谢谢。 - codeaviatorsudo apt-get install searchmonkey
sudo apt-get install regexxer
sudo apt install recoll
gnome-search-tool
或search-monkey
完全是另一个世界。它使用Xapian,因此能够检查和索引Word文档(.doc和.docx)、PDF文件、邮件文件夹等。 - Aviosudo apt install recoll
),在一些情况下,它能够胜过grep命令,比如处理使用pkzip压缩的.docx文档。 - Aviorecoll
之前需要先构建索引。 - Yrogirggrep
命令:
grep -r string *
这个命令会在当前目录(或子目录)下的所有文件中查找所有出现的"string"。grep -r string ..
#!/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
与问题有什么关系。 - Andrea Corbellinigrep
的详细回答。 - aquaherd根据https://askubuntu.com/a/1141367/47073,你可以使用mate-search-tool
,它与被移除的gnome-search-tool
是一样的东西。我在使用searchmonkey时遇到了问题,它会丢失一些结果并且运行缓慢,不推荐使用。
安装mate-search-tool
的方法如下:
sudo apt install mate-utils
mate-search-tool