linux下find和grep命令特别重要,所以特别列一块来说说它们俩.
一:find命令
1:find命令的格式: find [path] [options] [tests] [actions]
2:find命令的应用: find /var /home -mount -name "filename" -type c -print
3:说明: /var /home是path(路径) find命令同时搜索这两个目录,可以同时搜索几个目录
-mount是options(选项) find命令就不会搜索其它文件系统
-name "filename"是tests(测试) 找到filename这个名字的文件
-type c也是tests(测试) 找到文件类型是c的,也可以使用d,f分别来表示目录和普通文件
-print 是actions 找到文件后,同时也满足测试,就把它的文件名打印出来.
二:grep命令(General Regular Expression Parser):通用正则表达式解析器
1:grep命令的格式: grep [options] PATTERN (FILES)
2:grep命令的应用: grep -c string file1.txt file2.txt
3:说明: -c是options 统计搜索得到的字符串的行的个数.这里就只打印匹配的行数了.没这个参数这把行里的东西全部打印出来;
string是PATTERN 是要在txt或者其它文件中搜索的字符串;
file1.txt file2.txt 是要在file1.txt和file2.txt里面找;
三:正则表达式
1:正则表达式的常用的特殊字符说明(前面是特殊字符,括号内是字符的含义):^(指向一行的开头) $(指向一行的结尾) .(任意单个字符) [](方括号里面表示其中任意一个字符都可以被匹配.也有种方式不匹配的,就是在前面加上^)
2:正则表达示的常用的匹配模式和含义说明(前面是匹配模式,括号内是含义):[:upper:](大写字母) [:lower:](小写字母) [:space:](空白字符) [:blank:](空格或者制表符) [:ascii:](ASCII字符) -->注意:这边对应grep的PATTERN(模式)
3:正则表达式的选项和含义说明(前面是选项,括号内是含义):?(匹配是可选的,但最多只能匹配一次) *(可以匹配0次或者多次) +(要匹配至少一次) {n}(必须匹配n次) {n,}(要匹配n次或者n次以上) {n,m}(要匹配n到m中的任何一个数字的次数,可以是n,也可以是m)
四:举例说明正则表达式的使用:
1:grep e$ words.txt 说明:这里是寻找以e为结尾的行,并把这行打印出来
2:grep a[[:blank:]] words.txt 说明:这里是寻找以a结尾的单词的行,并打印出来.外层的[]表示匹配里面的任一字符,而[:blank:]表示一个空格或者制表符,所以就可以达到我们的目的.
3:grep -E [a-z]\{10\} words.txt 说明:使用扩展的grep模式来匹配一个连续有十个小写字母的单词.
注意:以上grep搜索到就直接显示其所对应的行.