欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

locate和grep命令

 这任然是一篇读书笔记,以下内容来源《linux命令速查手册》这本书。

       1、locate命令

       用文件名或者文件名的部分来搜索文件在系统中的位置。locate不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb)。这个数据库包含本地所有文件爱你信息。linux创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatadb命令,手动更新数据库。

       常用形式:

       locate hello.txt                       //在当前目录下查找包含hello.txt字符的文件

       locate hello                            //在当前目录下查找包含hello字符的文件

       locate -i hello                         //在当前目录下不区分大小写的查找包含hello字符的文件

       locate -n 4 hello                     //只显示前4条搜索结果

       locate hello|less                     //搜索结果输出到分屏器less,每次只显示一屏

       2、grep命令

       grep全称:global search regular expression and print out the line --全面搜索正则表达式并把行打印出来。

       常用形式:

       grep hi hello.txt                     //在hello.txt中查找hi字符

       grep ‘hi’ hello                        //跟上面结果一致

       grep 'hi'  *                            //在当前目录下搜索hi,如果当前目录下有文件下,不会进入文件下内进行搜索

       grep 'hi' -R  *                        //跟上条命令一样,只是会搜索到当前目录下的文件夹,也就是递归

       grep 'hi' -i *                          // -i选项  忽略字符串大小写

       grep 'hi' -w  *                       //-w 选项  完整匹配字符串

       grep 'hi' -n *                        //-n选项  显示字符串在文件中的行号

       ls -1|grep 'hi'                       //在ls的输出结果中查找显示包含hi字符的项

       grep -A 3 'hi'  hello.txt          //在hello.txt中,查找字符串hi,并显示该字符串所在行之后(After)3行

       grep -B 3 'hi'  hello.txt          //在hello.txt中,差找字符串hi,并显示该字符串所在行之前(Before)3行

       grep -C 3 'hi'  hello.txt          //在hello.txt中,查找字符串hi,并显示该字符串所在行前后(Center)3行

       ls -1|grep -v 'hello'               //ls输出中,显示不包含‘hello’字符串的项

       grep -il 'test'  *                    //在当前目录下的文件中不区分大小写的查找‘test’,但只列出包含次字符串的文件名(参数 -l )。

       ls -1 |grep 11[0-9]|grep -v test   //显示当前目录下的文件,文件名包含字符串11X但不包含字符串test。

 

没啥



来自  https://www.cnblogs.com/kanite/p/4482590.html

普通分类: