如要匹配Computer或computer两个单词,可做如下操作:
[Cc]mputer “.”允许匹配ASCII集中任意字符,或为字母,或为数字。 使用\{\}匹配模式结果出现的次数 匹配字母A出现两次,并以B结尾,操作如下:
A\{2\}B
匹配A至少4次,使用:
A\{4,\}B
如给出出现次数范围,例如A出现2次到4次之间:
A\{2,4\}B 在grep命令中输入字符串参数时,最好将其用双引号括起来。例如:“mystring”。这样做
有两个原因,一是以防被误解为shell命令,二是可以用来查找多个单词组成的字符串,例如:
“jet plane”,如果不用双引号将其括起来,那么单词plane将被误认为是一个文件,查询结果
将返回“文件不存在”的错误信息。 在grep命令中输入字符串参数时,最好将其用双引号括起来。例如:“mystring”。
这样做有两个原因:
一是以防被误解为shell命令,
二是可以用来查找多个单词组成的字符串,例如:“jet plane”,
如果不用双引号将其括起来,那么单词plane将被误认为是一个文件,查询结果将返回“文件不存在”的错误信息。 在调用变量时,也应该使用双引号,诸如:grep "$MYVAR"文件名,如果不这样,将没有返回结果。
在调用模式匹配时,应使用单引号。 使用grep抽取精确匹配的一种更有效方式是在抽取字符串后加\>。假定现在精确抽取48,方法如下:[???????????]
#grep "48\>" data.f #grep -n "48\>" data.f #显示行号 缺省情况下,grep是大小写敏感的,如要查询大小写不敏感字符串,必须使用-i开关。 使用正则表达式时最好用单引号括起来 假定要抽取代码为484和483的城市位置,
#grep '48[34]' data.f 如果要抽出记录,使其行首不是48,
#grep '^[^48]' data.f 抽取以L开头,以D结尾长度为5个字符的所有代码,可使用下述方法:
#grep 'L...D' data.f 查询所有以5开始以1996或1998结尾的所有记录
#grep '5..199[68]' data.f 第一个字符为任意数字,第二个字符在0到5之间,第三个字符在0到6之间:
#grep '[0-9][0-5][0-6]' data.f
#grep '^[0-9][0-5][0-6]' data.f #以行首开始 抽取包含数字4至少重复出现两次的所有行:
#grep '4\{2,\}' data.f grep命令加-E参数,这一扩展允许使用扩展模式匹配。
例如,要抽取城市代码为219或216,方法如下:
#grep -E '219|216' data.f 结合使用^和$可查询空行。使用- n参数显示实际行数:
#grep -n '^$' data.f 匹配特殊字符查询有特殊含义的字符,诸如$.'"*[]^|\+?,必须在特定字符前加\。
假设要查询包含“.”的所有行,脚本如下:
#grep '\.' data.f
#grep '\"' data.f 如要查询文件名conftroll.conf(这是一个配置文件),脚本如下:
#grep 'conftroll\.conf' myfile 最多六个小写字符,后跟句点,接着是两个大写字符,
#grep '[a-z]\{1,6\}\.[A-Z]\{1,2\}' filename.deposit grep中通配符*的使用
#grep 'l.*s' testfile #匹配如"looks"
#grep 'oo*' testfile #匹配如"looks" 在所有文件中查询行尾包含单词device的所有行
#grep 'device$' * 查询目录列表中的目录,方法如下:
#ls -l | grep '^d'
在一个目录中查询不包含目录的所有文件,方法如下:
#ls -l | grep '^[^d]'
要查询其他用户和其他用户组成员有可执行权限的目录集合,方法如下:
#ls -l | grep '^d....x..x' #ls 列出文件目录(可以含子目录)及文件的完整路径 [1] [2]
1、列出当前目录的文件、文件夹完整路径
ls -1 |awk '{print i$0}' i=`pwd`'/' 2、列出当前目录及子目录的文件、文件夹完整路径
ls -R |awk '{print i$0}' i=`pwd`'/' 2b) 列出当前目录及子目录下的文件夹完整路径
ls -FR | grep /$ | sed "s:^:`pwd`/:" 3、用find实现,好像运行要慢些
find / -name "*.*" -exec ls {} \; 4、递归列出当前目录及子目录名称
ls -FR | grep /$ 5、递归列出当前目录及子目录名称,包括相关属性
ls -lR | grep "^d"
# drwxr-xr-x 3 idea idea 4096 Aug 2 2009 images 6、只列出当前目录下的子目录
用ls只列出子目录
ls -d */ #grep空格 [1]
grep搜索带空格的字符串需要使用'\ '来转义空格
用 "\s" #grep查找tab [1]
其实在linux中要正确匹配tab(退格)符有两种方式
1:用 grep $'\t' 你的文件
2:用 grep '按CTRL+V 键,再按TAB键' 你的文件 #更多详细用法 [1]

grep中正则匹配的使用的更多相关文章

  1. Linux篇---Grep和正则匹配

    一.前述 Linux中正则匹配查找比较常用,所以分享一篇关于正则匹配和Grep结合的文章. 二.匹配规则 匹配操作符: \                  转义字符.                 ...

  2. JS中正则匹配的三个方法match exec test的用法

    javascript中正则匹配有3个方法,match,exec,test: match是字符串的一个方法,接收一个RegExp对象做为参数: match() 方法可在字符串内检索指定的值,或找到一个或 ...

  3. 关于php中正则匹配包括换行符在内的任意字符的问题总结

    要使用正则匹配任意字符的话,通常有以下几种方法,这里我分别对每一种方法在使用的过程中做一个总结: 第一种方式:[.\n]*? 示例 ? PHP preg_match_all('/<div cla ...

  4. Python中正则匹配使用findall时的注意事项

    在使用正则搜索内容时遇到一个小坑,百度搜了一下,遇到这个坑的还不少,特此记录一下. 比如说有一个字符串  "123@qq.comaaa@163.combbb@126.comasdf111@a ...

  5. Python中正则匹配使用findall,捕获分组(xxx)和非捕获分组(?:xxx)的差异

    转自:https://blog.csdn.net/qq_42739440/article/details/81117919 下面是我在用findall匹配字符串时遇到的一个坑,分享出来供大家跳坑. 例 ...

  6. html中正则匹配img

    1.正则匹配html中的img标签,取出img的url并进行图片文件下载: /// <summary> /// 将image标签的src属性的url替换为base64 /// </s ...

  7. python中正则匹配之re模块

    Python中正则表达式 re:re是提供正则表达式匹配操作的模块 一.什么是正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某个模式匹配,Python 自1.5版本起 ...

  8. grep 常用正则匹配

    1.或操作 grep -E '123|abc' filename // 找出文件(filename)中包含123或者包含abc的行 egrep '123|abc' filename // 用egrep ...

  9. JavaScript 中正则匹配时结果不一致的问题

    创建示例项目 考察如下场景,我们有个输入框组件,输入时同时进行校验. interface IInputProps { label: string; } function Input({ label } ...

随机推荐

  1. Visual Studio: 暂时?绕过 fatal error C1083: Cannot open precompiled header file

    可以使用右键点击项目工程中的该cpp文件,选择setting,在c/c++栏,选择PreCompiled headers,然后设置第一选项,选择不使用预编译头.

  2. Hadoop建立IPC连接和数据读写

    建立IPC连接 IPC Client通过调用getConnection获取IPC连接,具体流程图如下: 服务器端的IPC连接代码分散在Listener和Server.Connection中. List ...

  3. sdoi 2009 & 状态压缩

    是不是平时在手机里玩吃豆豆游戏玩腻了呢?最近MOKIA手机上推出了一种新的围豆豆游戏,大家一起来试一试吧. 游戏的规则非常简单,在一个N×M的矩阵方格内分布着D颗豆子,每颗豆有不同的分值Vi.游戏者可 ...

  4. 隐式调用 Intent 大全, 很全

    http://ming-fanglin.iteye.com/blog/1061312 //调用浏览器 Uri uri = Uri.parse(""); Intent it  = n ...

  5. Codeforces Round #244 (Div. 2) A. Police Recruits

    题目的意思就是找出未能及时处理的犯罪数, #include <iostream> using namespace std; int main(){ int n; cin >> ...

  6. 纪念逝去的岁月——C++实现一个栈(使用类模板)

    这个版本是上个版本的加强版,上个版本的代码:http://www.cnblogs.com/fengbohello/p/4542912.html 目录 1.代码 2.运行结果 1.代码 1.1 调试信息 ...

  7. pr高的2级域名站点如何做优化?

    优化方法: 二级域名的内容建设也需要细致化 很多人认为,优化二级域名没有优化顶级域名那么多工作,只需要发发外链就可以了,这可以说是一个误区.我们的目的是要优化二级域名到首页,让用户能够看到,如果我们的 ...

  8. (JavaScript 2.0: The Complete Reference, Second Edition)javascript 2.0完全手册第二版 翻译说明

    1,译文中javascript简称js. 2,本人翻译时将信息提炼加工,保留主要信息,个别地方可能与原文有出入. 3,为督促自己学习Javascript,从今天起每天翻译一些,每天更新. 下面是文章每 ...

  9. Debug与Release的区别

    Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M).至于是否需要DLL支持,主要看你采用的编译选项.如果是基于ATL的,则Debug和Release版本对DLL的要求差 ...

  10. php读取html文件(或php文件)的方法

    一.使用fopen()函数   此函数主要传入的是头两个参数(第一个是文件地址,第二个是打开方式),可以读取任何一个文本文件,然后用while将fopen函数读取到的每一行数据循环输出.   如:   ...