文本搜索:grep (文本中找内容)

Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行。

grep一般格式为:

grep [-选项] ‘搜索内容串’文件名

在grep命令中输入字符串参数时,最好引号或双引号括起来。例如:grep‘a ’1.txt。

常用选项说明:

选项

含义

-v

显示不包含匹配文本的所有行(相当于求反)

-n

显示匹配行及行号

-i

忽略大小写

grep搜索内容串可以是正则表达式。

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

grep常用正则表达式:

参数

含义

^a

行首,搜寻以 a 开头的行;grep -n '^a' 1.txt

ke$

行尾,搜寻以 ke 结束的行;grep -n 'ke$' 1.txt

[Ss]igna[Ll]

匹配 [] 里中一系列字符中的一个;搜寻匹配单词signal、signaL、Signal、SignaL的行;grep -n '[Ss]igna[Ll]' 1.txt

.

(点)匹配一个非换行符的字符;匹配 e 和 e 之间有任意一个字符,可以匹配 eee,eae,eve,但是不匹配 ee,eaae;grep -n 'e.e' 1.txt

grep 命令在手机中全局 搜索 grep 搜索文件内容_grep 命令在手机中全局 搜索

注意这里的点 . 相当于ls中的 ? ,且LS不支持.

grep 命令在手机中全局 搜索 grep 搜索文件内容_搜索_02



查找文件:find

find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。

常用用法:

命令

含义

find ./ -name test.sh

查找当前目录下所有名为test.sh的文件

find ./ -name '*.sh'

查找当前目录下所有后缀为.sh的文件

find ./ -name "[A-Z]*"

查找当前目录下所有以大写字母开头的文件

find /tmp -size 2M

查找在/tmp 目录下等于2M的文件

find /tmp -size +2M

查找在/tmp 目录下大于2M的文件

find /tmp -size -2M

查找在/tmp 目录下小于2M的文件

find ./ -size +4k -size -5M

查找当前目录下大于4k,小于5M的文件

find ./ -perm 0777

查找当前目录下权限为 777 的文件或目录