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正则表达式-表达式

你可能熟悉一个计算器解释的表达式。请看下面的算术表达式: 2+4 "2加4" 出几个常数或字面值和一个操作符组成。计算器程序必须能够识别,例如, "2" 是数字常数而加号表示一个操作符,而不能解释为"...

Linux&MySQL 正则表达式

Linux 和 MySQL中的正则表达式是不一样的,特别容易混,以下分别记录Linux和MySQL的正则表达式的规则。 1.Linux shell 脚本的正则表达式: ——————————————...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

正则表达式 linux shell

热身正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。例如 grep, exp...

Linux正则表达式grep

正则表达式是一种符号表示法,用于识别文本模式。Linux处理正则表达式的主要程序是grep。grep搜索与正则表达式匹配的行,并将结果输送至标准输出。 1. grep匹配模式 grep按下...

正则表达式 linux shell

正则表达式 热身 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。 例...

linux c正则表达式

在很多人看来,正则表达式看上去古怪且复杂,因此往往不想去触及或使用。如果我们抛开这种“畏难”心理,在经过循序渐进地学习之后,就会发现这些复杂的表达式其实写起来还是相当简单的。一旦它被你所“驯服”,就可...

linux-2 正则表达式

正则表达式在linux命令中的作用:      在使用grep、awk和sed命令时,需要使用正则表达式。    在查找搜索一些文件用正则表达式来快速查找    在批处理时用正则表达式  ...

linux grep 正则表达式

grep正则表达式元字符集:  ^ 锚定行的开始 如:'^grep'匹配所有以grep开头的行。  $ 锚定行的结束 如:'grep$'匹配所有以grep结尾的行。  . 匹配一个非换行符的字符...

Linux grep正则表达式

简介 grep是Linux下的行过滤命令,它是一种部分匹配,即行内包含我们指定的字符串即可,不需要全部匹配。 常用选项 -i 忽略大小写 -n 标明多少行 -c 统计匹配的行数 -o 只输出行...

Linux之正则表达式

正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep ,awk,sed等命令可以运动正则表达式。正则表达式匹配得到的结果是行        通配符用来匹配符合条件的文件名,通配符...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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