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 ...
随机推荐
- hdu1198Farm Irrigation (DFS)
Problem Description Benny has a spacious farm land to irrigate. The farm land is a rectangle, and is ...
- PHP - 日期与时间
第10章 日期与时间 学习要点: 1.PHP日期和时间库 使用PHP编程时,与你遇到的大多数其他类型的数据相比,日期和时间有很大不同.因为日期和时间没有明确的结构,并且日期的计算和表示也很麻烦.在PH ...
- C++如何屏蔽双击运行程序功能?
问题描述: 我们开发过程中可能会经常遇到,需要屏蔽EXE的双击运行功能,只能通过宿主程序(Service或EXE)来启动.比如腾讯的迷你弹窗,就只能通过主程序来启动,而不能直接通过双击来运行. 实现原 ...
- Android播放音乐时跳动的屏谱demo
Android实现播放音频时的跳动频谱,并实现可以调节的均衡器. Main.java package com.wjq.audiofx; import android.app.Activity; imp ...
- poj-3895-Cycles of Lanes 简单DFS
题目链接: http://poj.org/problem?id=3895 题目意思: 在无向连通图中图中找一个经过边数最多的环. 解题思路: 从任意一点直接DFS,不用回溯,注意构成环的话至少有3条边 ...
- 自己用h5写的转盘。写贴上来吧。
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序
原文 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 Jim ...
- boost asio io_service学习笔记
构造函数 构造函数的主要动作就是调用CreateIoCompletionPort创建了一个初始iocp. Dispatch和post的区别 Post一定是PostQueuedCompletionSta ...
- entity framework 6 我写了一个公用数据类
public class BaseDAL { string strConn = ""; public BaseDAL(string connString) { strConn = ...
- 使用JDBC处理数据库大容量数据类型
在本文将介绍如何使用JDBC操作MySQL数据库对于大容量数据类型的读取.在之前的博客中已经介绍了如何使用JDBC来操作数据库对各种数据的增删改查,那么大容量数据类型的数据操作又为何不同呢. 原因在于 ...