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_Shell正则表达式语法介绍.txt

  • 2014年10月30日 14:52
  • 18KB
  • 下载

Linux_Shell正则表达式语法doc

  • 2014年10月30日 14:55
  • 61KB
  • 下载

基于linux的正则表达式以及工具的使用

1. 基础的grep1.1 grep 主要用来检索查找文件或者输入流中特定的内容,以行为单位基础正则中用到的特殊字符[:alnum:] 代表了 大小写字母和数字 相当于 [a-zA-Z0-9] //...

Linux中的正则表达式

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

Linux下的C语言正则表达式

  • 2011年12月22日 09:47
  • 32KB
  • 下载

Linux 常用命令sed/awk/grep及正则表达式

linux命令sed和awk sed 主要功能 sed,stream editor。是一个”非交互式“字符流编辑器。输入流通过程序并输出到标准输出端。 sed主要用来自动编...
  • tham_
  • tham_
  • 2016年04月16日 20:01
  • 4499

linux 正则表达式

  • 2014年12月28日 16:45
  • 820KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux正则表达式
举报原因:
原因补充:

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