Linux正则表达式

原创 2016年06月01日 22:28:40
grep:文本过滤工具,能够实现根据指定的模式patten逐行搜索文件内容并显示匹配到的行,默认使用基本正则表达式
    -i:忽略大小写   -o:只显示匹配的串
    -v:显示不匹配的  -E:使用扩展正则,或直接使用egrep

补充:sed以行为单位编辑
awk
    一行一行分析,awk能细分,将一行分为多个字段,以字段为单位进行处理,默认分隔符为空格,支持C语法,可以有分支条件判断,循环语句。

find
find命令在目录结构中搜索文件,并执行指定的操作。

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

#-print 将查找到的文件输出到标准输出
#-exec   command   {} \;      —–将查到的文件执行command操作,{} 和 \;之间有空格
#-ok 和-exec相同,只不过在操作前要询用户
可以根据文件各种属性进行查找,如文件名、执行权限、属主、属组、时间等
例:find . -name .svn | xargs rm -rf
find常与xargs、grep结合实现复杂查找 
要在/usr/linux中查找所有的*.h,并在这些文件中查找“SYSCALL_VECTOR",最后打印出所有包含"SYSCALL_VECTOR"的文件名,有以下几种方法实现
    find /usr/linux -name "*.h" | xargs grep SYSCALL_VECTOR
    grep SYSCALL_VECTOR /usr/linux/*.h | cut -d’:’ -f1 | uniq > filename
    find /usr/linux -name "*.h" -exec grep "SYSCALL_VECTOR" {} \; -print (不建议)
注:xargs命令为参数过滤

 
RE:正则表达式
basic RE基本,extended RE扩展
1、基本
字符
    .  任意单个
   []指定范围内的单个
    [^]指定范围外的单个
次数匹配(贪婪模式)
    *:  0,1或多次
    ?:0,1次
   \{m,n\}:至少m至多n次
    \{m,\}:至少m
    \{0,n\}:至多n
    \{m\}:m次
锚定符:定位
    单词锚定:\< 或\b锚定词首       
                         \> 或\b 锚定词尾        
                  所以,定位一个单词\<单词\>
                       ^  行首   $ 行尾
分组:\(\)  另外
          向后引用:\1表示引用第一个左括号中内容  \2表示第二个    等等

2、扩展与基本区别
次数匹配:
     +:其前字符至少一次
   {m,n}:不需用反斜线
分组:()
或者:|:or,指的是整个左边或者右边

3.文本编辑器
行编辑器:sed  ,Stream EDitor
全屏幕编辑器:nano ,emacs ,vi=visual interface ,vim=vi improved

vi: 模式化编辑器
    编辑模式:命令,如dd表示删除
    输入模式:内容,如dd表示dd字符本身
    末行模式:!shell command   可在不关闭vi下执行shell命令



删除:d后可结合跳转命令
撤销:u:撤销上次操作
          #u:撤销最近#次操作




版权声明:本文为博主原创文章,未经博主允许不得转载。

Linux中的正则表达式

正则表达式是什么正则表达式是用于描述字符排列和匹配模式的一种语法规则。 它主要用于字符串的模式分割、匹配、查找及替换操作,其中最为重要作用是匹配。正则表达式与通配符正则表达式用来在文件中匹配符合条件...
  • renwotao2009
  • renwotao2009
  • 2016年03月20日 22:39
  • 3900

linux初学习之正则表达式和通配符

一、正则表达式: 元字符是用来阐释字符表达式意义的字符,简言之,就是用来描述字符的字符。 正则表达式RE(Regular Expression)是由一串字符和元字符构成的字符串。 正则表达式的主...
  • zzjjian333
  • zzjjian333
  • 2013年02月16日 14:54
  • 13570

linux正则表达式详解

1:什么是正则表达式: 简单的说,正则表达式就是处理字符串的方法,它是以行为单位进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易达到查找,删除,替换某特定字符串的处理程序。 2:...
  • wuliowen
  • wuliowen
  • 2017年03月20日 21:01
  • 909

linux下c/c++实例之五正则表达式字符串匹配

标准的C和C++不支持正则表达式,但有一些函数库可以辅助C/C++程序员完成这一功能。正则表达式常用函数:编译正则表达式 regcomp()、匹配正则表达式 regexec()、释放正则表达式 reg...
  • taiyang1987912
  • taiyang1987912
  • 2015年11月06日 14:28
  • 4300

linux-正则表达式

http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html 1,shell通配符...
  • gexiaobaoHelloWorld
  • gexiaobaoHelloWorld
  • 2013年06月21日 17:45
  • 11044

文档总结:linux目录与正则表达式

## 一.linux系统结构#linux是一个倒树结构 linux中所有的东西都是文件 这些文件都在系统顶级目录“/” /就是根目录 /目录以下为二级目录这些目录都是系统装机时系统自动建立的 ...
  • parameter_
  • parameter_
  • 2017年03月29日 17:48
  • 1110

Linux正则表达式-元字符

我们已经看过了表达式中的两个基本元素: 1.以一个字面值或变量表示的值。 2. 一个操作符。 正则表达式是由这些相同的元素组成的。除元字符除外,都被解释为只匹配它本身的字面值。 元字符汇总 ...
  • xiyangyang052
  • xiyangyang052
  • 2015年05月22日 22:18
  • 523

vim中使用正则表达式

一、使用正则表达式的命令 使用正则表达式的命令最常见的就是 / (搜索)命令。其格式如下: /正则表达式 另一个很有用的命令就是 :s(替换)命令,将第一个//之间的正则表达式替换成...
  • whaoXYSH
  • whaoXYSH
  • 2014年04月28日 16:40
  • 2892

Linux大神养成之正则表达式(grep,sed)

Linux大神养成之正则表达式grep命令参数: -A后面加数字,代表after,表示把该行的后续n行也列出来 -B后面加数字,代表befer,表示把改行的前面n行也列出来 $ dmesg | gre...
  • y990041769
  • y990041769
  • 2015年07月31日 10:58
  • 6435

一只简单的网络爬虫(基于linux C/C++)————利用正则表达式解析页面

我们向一个HTTP的服务器发送HTTP的请求后,服务器会返回可能一个HTML页面(当然也可以是其他的资源),我们可以利用返回的HTML页面,在其中寻找其他的Url,例如我们可以这样在浏览器上查看一下H...
  • L979951191
  • L979951191
  • 2015年09月24日 12:30
  • 2826
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux正则表达式
举报原因:
原因补充:

(最多只允许输入30个字)