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 ...
随机推荐
- 先有Delphi内存对象,后有句柄(如果需要的话),最后再显示
在设计期放上一个Panel1和Button1,然后设置Panel1.Visible:=False 这时候执行: procedure TForm1.Button4Click(Sender: TObjec ...
- ubuntu 安装LaTex
使用IDE来使用tex,如TexMaker. 1.到http://www.tug.org/texlive/acquire-netinstall.html 下载texlive. 2.linux下命令行, ...
- 基于visual Studio2013解决面试题之1004最长等差数列
题目
- 4Sum -- LeetCode
原题链接: http://oj.leetcode.com/problems/4sum/ 这道题要求跟3Sum差点儿相同,仅仅是需求扩展到四个的数字的和了.我们还是能够依照3Sum中的解法,仅仅是在外 ...
- 树后台数据存储(採用webmethod)
树后台数据存储 关于后台数据存储将集中在此篇解说 /* *作者:方浩然 *日期:2015-05-26 *版本号:1.0 */ using System; using System.Collection ...
- Mac 修改Host 绑定host
Mac 系统下 ,修改Host 文件: 打开命令行终端 输入 sudo vi /etc/hosts 之后回车确认,进入vi 编辑界面(进行vi编辑操作,之后保存就行了) 版权声明:本文为博主原创文章, ...
- adb 命令使用的时候出现Error
在使用adb 命令行的时候会出现Error 重启adb server 即可,使用管理员运行Cmd 命令窗口 adb kill-server adb start-server 如果是连接真机查看的时候再 ...
- VC++ WIN32 sdk实现按钮自绘详解.
网上找了很多,可只是给出代码,没有详细解释,不便初学者理解.我就抄回冷饭.把这个再拿出来说说. 实例图片: 首先建立一个标准的Win32 Application 工程.选择a simple Wi ...
- JQuery 插件之Ajax Autocomplete(ajax自动完成)
平时用百度,谷歌搜索的时候 会有一个下 拉列表进行提示 这是一个非常好的功能 本文要介绍的这个JQuery 插件 名叫Ajax Autocomplete 顾名思义 ajax 也就是用ajax的方式获取 ...
- linux命令行模式下实现代理上网(转)
有些公司的局域网环境,例如我们公司的只允许使用代理上网,图形界面的很好解决就设置一下浏览器的代理就好了,但是linux纯命令行的界面就....下面简单几步就可以实现了! 一.命令行界面的一般代理设置方 ...