linux查找文件或字符串的命令
1. linux下面用于查到的命令有哪些?
是不是有很多呀,这个我还没做过统计和调查,不过这篇博客只介绍grep与find的最基本应用。
grep和find功能都是相当的强大,这里也只是介绍这两个命令的九牛一毛而已。
2. grep的简单小应用?
(1)如果在给定的文件中搜索某个字符串,直接grep “main” ./main.c即可;
(2)如果你要搜索某个特定的字符串,而不确定这个字符串可能会在哪个文件中出现,
那只能在某个大的目录下递归搜索:grep -r "main" ./;
(3)如果只指定-r来搜索,有时候可能会打印出很多无用的错误的信息,这会严重干扰你在
搜索结果中查找你想要的信息。所以我们要用grep -rs "main" ./,使用-s选项可以帮助我们
将这些因为文件不存在或者文件不可读而打印出来的错误信息统统去除掉;
(4)如果你想知道字符串所在的行号,那一定要指定-n选项:grep -nrs "main" ./;
(5)可是很多时候你按照上面指定的条件进行搜索,在搜索结果中可能仍然有很多不是你想要的。
比如你要搜索的字符串是"main",而要搜索结果中你可能会看到很多诸如"main_function",
"mainly"等等这些包含"main"的更长的字符串。此时我们就需要借助于-w这个命令选项来过滤。
grep -nrws "main" ./。
3. find的简单小应用?
目前我遇到的应用就是在整个系统成千上万的文件中去找某个特定的文件。
find ./ -name "libtest.so"
这样find命令就会在指定的path下递归查找某个特定的文件。
当然find的实际功能是非常非常大的,比如:
find ./ -perm 777
用来在当前path下递归查找所有权限为777的文件。
4. find与grep无敌组合?
如果你查找一个字符串要把整个系统的所有文件都过滤一遍,效率是不是太低了点?
我们可以用类似于如下的命令来提高效率:
find ./ -name "*.c" | xargs grep "main"
这样做的目的就是在指定path下先缩写范围到所有的.c文件,然后在.c文件中查找
特定的字符串。
以上纯属个人的一点小小心得之总结。如有雷同,纯属巧合。
linux查找文件或字符串的命令的更多相关文章
- linux 查找文件或者内容常用命令
whereis <程序名称> find [路径] <表达式> locate <文件名称> 从文件内容查找匹配指定字符串的行: $ grep "被查找的字符 ...
- linux 查找文件与进程常用命令
Linux的五个查找命令 1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> ...
- [转] Linux 查找文件内容
Linux查找文件内容的常用命令方法. 从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件g ...
- Linux查找含有特定字符串的文件
Linux查找含有特定字符串的文件命令为grep.以下为详细的使用方法 grep [OPTIONS] PATTERN [FILE...] #实例:递归查找当前文件夹下所有含有test的文件,并显示行号 ...
- [转帖]Linux查找文件6个高效工具
Linux查找文件6个高效工具 https://www.linuxrumen.com/rmxx/176.html 需要实操 -inname -type 等等. 1. 前言 我们使用Linux过程中,经 ...
- Linux查找含有某字符串的所有文件
转自:http://151wqooo.blog.51cto.com/2610898/1162118 如果你想在当前目录下 查找"hello,world!"字符串,可以这样: gre ...
- Linux 查找文件命令 find whereis locate
Linux 有三个查找文件的命令:find, whereis, locate 其中find 不常用,whereis与locate经常使用,因为find命令速度较慢,因为whereis与locate是利 ...
- linux查找文件夹下的全部文件里是否含有某个字符串
查找文件夹下的全部文件里是否含有某个字符串 find .|xargs grep -ri "IBM" 查找文件夹下的全部文件里是否含有某个字符串,而且仅仅打印出文件名称 fin ...
- linux查找文件夹命令
查找命令: 查找根目录下查找文件夹名称叫www.91cnm.com的目录地址 find / -name www.91cnm.com -d 1 查找/var/www/目录下叫index.php的文件 f ...
随机推荐
- HDU 4712Hamming Distance(随机函数运用)
Hamming Distance Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) ...
- 20款Notepad++插件下载和介绍
转自:http://www.kuqin.com/developtool/20090628/59334.html Notepad++从3.4版本开始支持插件机制,让用户可选择的为本身已经优秀的Notep ...
- Hough变换在opencv中的应用
霍夫曼变换(Hough Transform)的原理 霍夫曼变换是一种可以检测出某种特殊形状的算法,OpenCV中用霍夫曼变换来检测出图像中的直线.椭圆和其他几何图形.由它改进的算法,可以用来检测任何形 ...
- Python源码学习十一 一个常用的内存分配函数
void * _PyObject_DebugMallocApi(char id, size_t nbytes) { uchar *p; /* base address of malloc'ed blo ...
- PHP学习之-1.1 PHP 可以做什么?
PHP 可以做什么? 为什么要学习PHP,"我可以用javascript来实现程序的编写."但是javascript的能力是有限的,javascript通常运行在浏览器(客户端), ...
- Spring Boot 分布式Session状态保存Redis
在使用spring boot做负载均衡的时候,多个app之间的session要保持一致,这样负载到不同的app时候,在一个app登录之后,而打到另外一台服务器的时候,session丢失. 常规的解决方 ...
- jqueryui datepicker refresh
http://stackoverflow.com/questions/6056287/jquery-ui-datepicker-prevent-refresh-onselect 给选中的TD加背景色
- Android JNI 编译正确 但是提示程序有错误无法运行 而且还看不到任何错误提示 的解决方法
前几篇中一直在通过Android做JNI调用,关于JNI的配置请见:http://blog.csdn.net/watkinsong/article/details/9849973 但是前一段时间就遇到 ...
- Sencha app build 出现 missing name after . operator 问题
此问题是在使用sencha app build命令后出现得 主要是 YUI Compressor压缩的时候,代码中出现了delete, interface之类的keyword导致的. 此时能够在Web ...
- 【从零学习openCV】opecv操作像素
1. 存取像素值 在opencv中能够直接对cv::Mat类型的图像调用at函数读取或赋值某个像素,我们用个简单的案例来说明: //在一张图像上增加椒盐噪声,image为输入图像.n为噪点个数 voi ...