Linux下命令的学习

来源:互联网 发布:spss软件安装教程 编辑:程序博客网 时间:2024/04/27 21:58

之前做windows平台的开发,现在转向做Linux平台的开发了,所以要不断学习Linux平台的开发环境。该博客主要记录本人Linux下命令的学习,大家共勉奋斗


2014.4.15

            grep:【介绍】 grep [options] 基本正则表达式 [文件] 
 
                          字符串参数最好采用是双引号括,一是以防被误解为shell命令,二是可以用来查找多个单词组成的字符串 
 
                          -c:只输出匹配行的记数 
 
                          -i:不区分大小写(只适用于单个字符) 
 
                          -h:查询多个文件时不显示文件名 
 
                          -H:只显示文件名 
 
                          -l:查询多文件时只输出包含匹配字符的文件名 
 
                          -n:只显示匹配行及其行号 
 
                          -s:不显示不存在或无匹配文本的错误信息。 
 
                          -v:显示不包含匹配文本的所有行。 
 
                   【举例说明】
 
                           grep ^[^210] myfile 匹配myfile中以非2、1、0开头的行 
 
                           grep "[5-8][6-9][0-3]" myfile 匹配myfile中第一位为5|6|7|8,第二位6|7|8|9,第三位为0|1|2|3的三个字符的行 
 
                           grep "4\{2,4\}" myfile 匹配myfile中含有44,444或4444的行 
 
                           grep "\?" myfile匹配myfile中含有任意字符的行 
 
                   【grep命令类名】
 
                           [[:upper:]]   表示[A-Z] 
 
                           [[:alnum:]]   表示[0-9a-zA-Z] 
 
                           [[:lower:]]   表示[a-z] 
 
                           [[:space:]]   表示空格或者tab键 
 
                           [[:digit:]]   表示[0-9] 
 
                           [[:alpha:]]   表示[a-zA-Z] 

                            如:grep "5[[:digit:]][[:digit:]]" myfile 匹配myfile中含有5开头接下去两位都是数字的行。

                     【常用实例】

                            #显示所有以d开头的文件中包含 test的行

                            $ grep ‘test’ d*         

                            #显示在aa,bb,cc文件中匹配test的行    
                            $ grep ‘test’ aa bb cc
                            #显示所有包含每个字符串至少有5个连续小写字符的字符串的行
                            $ grep ‘[a-z]\{5\}’ aa
                            #如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着 另外一个es(\1),找到就显示该行。如果用egrep或grep -E,就不用”\”号进行转义,直接写成’w(es)t.*\1′就可以了
                            $ grep ‘w\(es\)t.*\1′ aa

                            #多个文件查询
                            $ grep "sort" *.doc
                            #行匹配:输出匹配行的计数
,输出文档中含有48字符的行数
                            $ grep -c "48" data.doc
                            #显示匹配行和行数
,显示所有匹配48的行和行号
                            $ grep -n "48" data.doc
                            #显示非匹配的行
,输出所有不包含48的行
                            $ grep -vn "48" data.doc   
                            #显示非匹配的行
,输出所有不包含48的行
                            $ grep -vn "48" data.doc    
                            #大小写敏感
,输出所有含有ab或Ab的字符串的行
                            $ grep -i "ab" data.doc      

                     【总结】

                            今天是为了查找某个目录下所有包含某个字符串的文件。所使用的命令是:grep "platman.vpm" /mnt/hgfs/Projects/PVS_SDK -r

0 0
原创粉丝点击