Linux正则表达式

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:撤销最近#次操作




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值