find和grep的简单应用

来源:互联网 发布:社交网络英文怎么说 编辑:程序博客网 时间:2024/05/02 02:28

1     find命令的使用原则

在Linux下查找文件不像在windows下方便,但是我们可以熟悉查找文件的find命令来查找想要的文件,由于本人在知识面得缺陷,只能写一下简单的指导初步的linux学习者,下面将常用的有关find命令的应用简单举例说明一下:

 

1.1 find查找文件的格式

find  [pattern]  [options] [tests]  [actions]

[path]查找文件的路径,这个路径既可以是绝对路径,比如: /home ,也可以是相对路径,比如:.

[options] 指出的是可选项,列举如下:

-name 以名字查找。

-type  以类型查找。

-depath 在查找目录本身之前先搜索目录的内容

-follow  搜索内容跟随富豪连接

[tests] 指出要查找的文件的信息:

1.2 find通过文件名查找文件

#find / -name "test.c"

find是查找的命令,/说明查找要在根目录下开始查找,-name说明查找要以名字的方式查找,"test.c"是要查找的文件

整条命令就是说要在根目录下查找所有的test.c文件。

 

1.3 find的模糊查找法

有很多时候我们只能确认文件的一部分,比如说我们要查找"test_list.c"文件,但是现在只能知道要查找的文件里面包含"test_*.c"的内容,其余不知道的部分,就用*代替。

find / -name  "test_*.c"

这条命令的含义就是要在根目录下查找含有"test_"和".c"组成未文件。

 

1.4 find的文件访问时间的查找法

有些时候记得在什么时间段访问了什么文件,而且访问过的文件也不多,这时候就可以通过带时间参数的命令获取要查找的文件。

find /  -atime  2

查找2天之内访问过的文件

-atime N   文件在N天之内被访问到的文件。

-mtime N   查找N天之内修改过的文件

-newer otherfile查找比otherfile要新的文件

 

1.5 find以文件类型查找

当有的时候需要即那个同一类型的文件都列举出来,这时候就可以用类型查找的方式查找。

find /  -type  f  -name  "*.conf"

这条命令的含义就是在根目录下查找类型为"*.conf"的文件。

 

2    grep命令的使用原则

inux系统中grep命令是一种可以配合正则使用的强大的文本搜索工具,并且可以输出匹配的信息。下面将常用的有关find命令的应用简单举例说明一下:

2.1 grep查找文本的格式

grep [OPTION]... PATTERN [FILE]...

[OPTION]选项内容:

[options]主要参数:

-c:只输出匹配行的计数。

-I:不区分大小写(只适用于单字符)。

-h:查询多文件时不显示文件名。

-l:查询多文件时只输出包含匹配字符的文件名。

-n:显示匹配行及行号。

-s:不显示不存在或无匹配文本的错误信息。

-v:显示不包含匹配文本的所有行。

PATTERN:正则表达式的主要参数:

  \: 转义字符,忽略正则表达式中特殊字符的原有含义。

  ^: 匹配正则表达式的开始行。

  $: 匹配正则表达式的结束行。

 \<: 从匹配正则表达式的行开始。

 \>: 到匹配正则表达式的行结束。

 [ ] : 单个字符,如[A]即A符合要求。

[ - ] : 范围,如[A-Z],即A、B、C一直到Z都符合要求。

 。: 所有的单个字符。

 * : 有字符,长度可以为0。

 

2.2 grep查找文本的例子

grep "Hello"H*

匹配文件中以H开头,但是包含Hello文本的行

grep‘[a-z]\{5\}’ -rn .

匹配当前目录下的多有包含5个连续小写字母的字符串的行。

 

 

1 0
原创粉丝点击