经过Google的几次搜索后,我想到的是:
find my_folder -type f -exec grep -l "needle text" {} \; -exec file {} \; | grep text
这非常不方便,并且会输出不需要的文本,例如mime类型信息。有更好的解决方案吗?我在同一文件夹中有很多图像和其他二进制文件,还有很多文本文件需要搜索。
我知道这是一个旧线程,但是我偶然发现了它,并认为我会分享我的方法,我发现这是一种非常快速的方法,可find
用于仅查找非二进制文件:
find . -type f -exec grep -Iq . {} \; -print
-I
grep
的选项告诉它立即忽略二进制文件,而.
连同的选项-q
会使它立即与文本文件匹配,因此运行非常快。如果您担心空格,可以将其更改-print
为-print0
用于管道到xargs -0
或之类的东西(感谢小费,@ lucas.werkmeister!)
同样,仅对于某些BSD版本(find
例如在OS X上)而言,第一个点才是必需的,但是如果您希望始终将其放置在别名或其他内容中,则不会一直伤害任何内容。
编辑 :正如@ruslan正确指出的那样,-and
可以隐式使用。
less 命令的作用和 more 十分类似,都用来浏览文本文件中的内容,不同之处在于,使用 more 命令浏览文件内容时,只能不断向后翻看,而使用 less 命令浏览,既可以向后翻看,也可以向前翻看。 不仅如此,为了方面用户浏览文本内容,less 命令还提供了以下几个功能: 使用光标键可以在文本文件中前后(左后)滚屏; 用行号或百分比作为书签浏览文件; 提供更加友好的检索、高亮显示等操作; 兼容常
本文向大家介绍查看linux文件的命令详解,包括了查看linux文件的命令详解的使用技巧和注意事项,需要的朋友参考一下 怎么查看linux文件 查看文件内容的命令: cat 由第一行开始显示内容,并将所有内容输出 tac 从最后一行倒序显示内容,并将所有内容输出 more 根据窗口大小,一页一页的现实文件内容 less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符 head 只显示头
我创建了一个扫描器,从命令行中的第一个元素读取文本文件,但它会导致。如何将其格式化为接受此文件的位置? 下面是我的代码: 例如,如果文件名是,我将作为命令行中的第一个元素。
问题内容: 想要改善这篇文章吗? 提供此问题的详细答案,包括引文和为什么答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我试图找到一种方法来扫描我的整个Linux系统,以查找包含特定文本字符串的所有文件。只是为了澄清,我正在文件中寻找文本,而不是在文件名中寻找文本。 当我查找如何执行此操作时,我两次遇到此解决方案: 但是,它不起作用。似乎显示了系统中的每个文件。 这接近正确的方法吗?如果没
通过学习 cd 和 pwd 命令,相信读者已经能够在庞大的 Linux 文件系统中,随心所欲地游荡并确定自己所在的位置了。本节继续来学习,如何知道某目录中存放了哪些文件或子目录。 ls 命令,list 的缩写,是最常见的目录操作命令,其主要功能是显示当前目录下的内容。此命令的基本格式为: [root@localhost ~]# ls [选项] 目录名称 表 1 列出了 ls 命令常用的选项以及各自
问题内容: 如果我有以下内容的文本文件 是否可以使用Linux命令或脚本来获得以下结果? 问题答案: 将其发送(将相邻的项目放在一起)然后进行计数,即: 并以排序顺序(按频率)获取该列表,您可以