shell中的正则表达式, and和or写法, vim中的查找和替换用法

1. shell中的正则和原生的正则有些许出入, 以下列举了shell中的正则规则:

 图中\number 代表前面对应()位置的内容, 类似于python中的命名分组, \对应数字可直接引用括号中内容

2. shell中的正则使用举例:

 双括号的额外含义, 其内可使用正则表达式, 并不表示正则必须在双括号中才能执行;

 [[ 10 =~ ^[0-9]+$ ]] 用于shell中判定是否是数字, 注意正则处不要加引号, 加引号表示字符串匹配; 取反在10前加叹号即可;
 shell中这些命令都是根据正则规则来解析的, 有vi, grep, sed, awk, python, vim;

3. vim中使用正则进行查找与替换:

 vim编辑器中的替换, %表示全文, 即第一行到最后一行. s表示替换, 完整命令如下:
 : %s/xx/XX/ # 表示把小写xx换为大写的, 只替换第一个, 无论第一个是否是单纯的xx或包含其他字符的
 : %s/ss/SS/g # 替换全局, 所有包含ss的都替换, 无论ss是否是单独的.
 : %s/\<ss\>/SS/g # \< \>用于限定词首和词尾, 限定ss两边不能有字母, 标点除外
 正则中严格区分大小写, shell中匹配不会严格区分

4. shell中的and和or用法举例:

 [ 1 -lt 2 -a 5 -gt 10 ]  [ 1 -lt 2 -o 5 -gt 10 ]

 [[ 1 -lt 2 && 5 -gt 10 ]]    [[ 1 -lt 2 || 5 -gt 10 ]]            # 等价于上面的写法

原文地址:https://www.cnblogs.com/quzq/p/12109587.html

时间: 2024-10-14 11:31:54

shell中的正则表达式, and和or写法, vim中的查找和替换用法的相关文章

复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符及在vim中设置tab缩进为4个字符

1.复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符 在命令模式下,使用正则表达式匹配 行首有空白字符行的模式:^[[:space:]]*\([^[:space:]]*\),输出命令 %s#^[[:space:]]*\([^[:space:]]*\)#\1#g1 2.vim中设置tab缩进为4个字符 vim .vimrc 输入 set tabstop=4 原文地址:https://www.cnblogs.com/mwd-123/p/

Java语言中的正则表达式

正则表达式是什么? 正则表达式是一种强大而灵活的文本处理工具.初学正则表达式时,其语法是一个难点,但它确实是一种简洁.动态的语言.正则表达式提供了一种完全通用的方式,能够解决各种字符串处理相关的问题:匹配.选择.编辑以及验证.一般来说,正则表达式就是以某种方式来描述字符串. 日常例子 在文本中查找“halu126”,我们通常会在查找框中输入“halu126”,这就是一个最简单的正则表达式的例子,使用精确的匹配这样的字符串,如果我 们即想在文本中找到“halu126”,又想找到“Halu126”,

vim中如何拷贝全文到win10的其他程序

vim有很多寄存器,其中在win10中,+号寄存器代表系统寄存器,在vim中只要把内容考到加号寄存器中,就可以在粘贴到其他程序里面了. 具体命令:在vim中,拷贝全文: ggvG$ 在vim中复制: "+y 把内容拷贝到系统寄存器,这时随便用ctrl+v就可以弄到其他程序里面了,如记事本之类的. 同理,如需把记事本的文本拷贝到vim中: "+p 总之,就是: "+y 把选中内容拷贝到”+号剪贴板,即系统剪贴板 "+p 把系统剪贴板的内容粘贴到vim 原文地址:htt

linux基础:shell中的正则表达式用法大全

在Linux系统中,正则表达式(RegularExpression)是通过一些特殊字符的排列,用以查找.替换.删除等操作的强大工具,对于每一个Linux用户,都是非常重要的.在现有的系统中,正则表达式也分为基础正则表达式(grep),扩展正则表达式(egrep).在正式了解正则表达式之前,先了解一些相关的字符概念,它们在正则表达式中都有特殊的含义与用法. 对于基础正则表达式grep而言,每个特殊字符分别有不同的匹配: 1.字符匹配: .     :匹配任意单个字符       [ ]    :匹

linux shell基础(五)sed命令(编辑中)

写shell有个步骤就是从一段文本中截取一段字符进行处理. 一.sed命令 sed是一种强大的流式编辑器 (stream editor for filtering and transforming text),它能够完美的使用正则表达式,逐行处理文本并把结果显示到屏幕上.sed的强项是替换文本中的特定字符. 用法:sed [选项]... {脚本(如果没有其他脚本)} [输入文件] sed [options] 'command' file(s) sed [options] -f scriptfil

shell编程之正则表达式

正则表达式主要是用于描述字符排列和匹配模式的一中语法规则.它主要用于字符串的模式分割.匹配.查找及替换,最主要的目的就是用于匹配. 通配符: *  - 匹配任意内容 ? - 匹配任意一个字符 [] - 匹配括号内的内容 正则表达式用来在文件中匹配符合条件的字符串,是包含匹配. 通配符用来匹配符合条件的文件名,是完全匹配. grep.awk.sed等命令可以支持正则表达式. ls.find.cp等命令不支持正则表达式,因此只能使用shell自己的通配符来进行匹配. 一般匹配形式列举如下: * 前一

Shell学习笔记 - 正则表达式

一.正则表达式是什么? 正则表达式是用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分割.匹配.查找及替换操作. 二.正则表达式与通配符 1. 正则表达式 用来在文件中匹配符合条件的字符串,正则表达式是“包含匹配”.grep.awk.sed等命令可以支持正则表达式. 2. 正则表达式元字符 正则表达式是通过元字符来进行字符串匹配的,具体请参考:http://www.cnblogs.com/refine1017/p/5011522.html 3. 通配符 用来匹配符合条件的文件名,

linux 中的正则表达式用法小结

首先:在linux中 ,正则表达式是针对文件内容而言的.查用在shell的grep,sed ,awk等相关命令之中. 正则表达式的元字符: .  : 表示任意字符 字符次数锚定: * : 表示* 之前的字符或模式出现任意次,其中包括0次 ?:   表示?之前的字符出现0次或一次,需要注意的是,在linux中需要是\?. \{m,n\}:表示其前面的字符或模式出现至少m次,至多n次 \{m,\}: 表示其前面的字符至少出现m次 \{0,n\}:表示其前面的字符至多出现n次 位置锚定: ^: 表示以

【前端学习笔记】Javascript中的正则表达式

复习字符串操作-------------------------– indexOf 查找字符 返回位置 charAt 查找位置 返回字符 substring 获取字符窜 split 分割字符串 正则表达式的概念和写法----------------- 正则 :也叫做规则,让计算机能够读懂人类的规则 正则都是操作字符串的. 正则的写法: var re = /a/; 和数组字符串区分开来 var re = newRegExp('a'); [正则默认] : 1.正则中是区分大小写的 不区分大小写在正则