linux查找内容,linux查找文件内容并输出

Linux里怎样查找文件内容

Linux查找文件内容的常用命令方法。

从文件内容查找匹配指定字符串的行:

$ grep"被查找的字符串"文件名

例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件

grep"thermcontact"*/*.in

从文件内容查找与正则表达式匹配的行:

$ grep–e“正则表达式”文件名

查找时不区分大小写:

$ grep–i"被查找的字符串"文件名

查找匹配的行数:

$ grep-c"被查找的字符串"文件名

从文件内容查找不匹配指定字符串的行:

$ grep–v"被查找的字符串"文件名

从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行

find/-type f-name"*.log"| xargs grep"ERROR"

例子:从当前目录开始查找所有扩展名为.in的文本文件,并找出包含”thermcontact”的行

find.-name"*.in"| xargs grep"thermcontact"

linux查找内容命令

find,用于在文件树中查找文件并作相应的处理

-name:按照文件名查找文件

-perm:按照文件权限查找文件

-user:按照文件属主来查找文件

-size:按照指定的文件大小查找文件【+n:大于,-n:小于,n:等于】

-group:按照文件所属的组来查找文件

-mtime<-n><+n>:按照文件更改时间来查找文件,-n表示n天之内,+n表示n天以前

-newer file1 file2:查找更改时间在file1和file2之间的文件

例如:

find-mtime-2:查找48小时修改过的文件

find-name".log":查找当前目录以".log"结尾的文件

find/opt/soft/test-perm 777:查找指定目录下权限为777的文件

find-type f-name"*.log":查找当前目录下以".log"结尾的普通文件

find-type d| sort:查找当前所有目标目录并排序

find/home/wansw-size+20M:查找大于20M的文件

locate指令,可以快速定位文件路径,利用事先建立的系统中的所有文件名称和路径的locate数据库,无需遍历整个文件系统,查询速度较快,为了保证查询准确性,需要定期更新。《Linux就该这么学》

updatedb:第一次运行前,创建locate数据库

grep,用于过滤/搜索指定字符串。可以使用正则表达式,能配合多种命令使用。

用法:grep【选项】查找内容源文件

-A:显示符合的行及之后的内容

-B:显示符合的行及之前的内容

-C:显示符合的行及前后的内容

-c:计算符合的行数目

-n:显示匹配行和行号

-i:忽略大小写

规则表达式

:'grep'表示匹配所有以grep开头的行

'表示匹配所有以grep结尾的行

.:'gr.p'表示匹配'gr'后面接任意字符然后是'p'

:'grep'表示匹配一个或多个空格后紧跟grep的行

[]:[Gg]rep表示匹配Grep与grep

[]:[A-FH-Z]rep表示匹配不以A-F、H-Z开头并紧跟rep的行

例如(grep命令大多数时候多要和别的命令一起使用才有意义):

ps-ef| grep-c SVN:查找指定的进程的个数

cat test.txt| grep-f test2.txt:从text2.txt中读取关键字后在test.txt中搜索

cat test.txt| grep nf text2.txt:从text2.txt中读取关键字后在text.txt中搜索并显示行号

grep'linux' text.txt test2.txt:从多个文件中搜索关键字'linux'

cat test.txt| grep-E'ed|at':显示包含ed或at的行

linux下按文件名和文件内容查找文件

在当前目录下,查找所有内容包含‘abc'的文件

find.-type f| xargs grep-l'abc'

find.-type f-exec grep-l'abc'{} \;

扩展资料:

linux查找文件命令find

根据部分文件名查找方法:

这个方法和在WINDOWS中查找已知的文件名方法是一样的。不过在Linux中根据部分文件名查找文件的方法要比在WINDOWS中的同类查找方法要强大得多。

例如我们知道某个文件包含有srm这3个字母,那么要找到系统中所有包含有这3个字母的文件是可以实现的,输入:

find/etc-name'*srm*'

这个命令表明了Linux系统将在/etc整个目录中查找所有的包含有srm这3个字母的文件,比如 absrmyz, tibc.srm等等符合条件的文件都能显示出来。如果你还知道这个文件是由srm这3个字母打头的,那么我们还可以省略最前面的星号,命令如下:

find/etc-name'srm*'

这是只有像srmyz这样的文件才被查找出来,象absrmyz或者 absrm这样的文件都不符合要求,不被显示,这样查找文件的效率和可靠性就大大增强了。

阅读剩余
THE END