sed 使用扩展正则式的分组功能进行替换

以下命令使用sed的扩展正则式的分组功能进行替换,-r参数启用扩展正则式支持

sed  -r -i ‘s/(PASS_MAX_DAYS)\s+([0-9]+)/\1 90/‘  /etc/login.defs

这条命令将/etc/login.defs文件的行

PASS_MAX_DAYS   99999

替换为

PASS_MAX_DAYS 90

以下正则式支持分组功能,()表示一个分组

(PASS_MAX_DAYS)\s+([0-9]+)

将PASS_MAX_DAYS放在分组1中,[0-9]+匹配任意多个数字,放在分组2中,两个分组中间还有\s+,\s+表示任意多个空白字符,\1引用分组1,\2引用分组2

原文地址:https://blog.51cto.com/penguintux/2431655

时间: 2024-10-11 16:49:26

sed 使用扩展正则式的分组功能进行替换的相关文章

扩展GridView控件——为内容项添加拖放及分组功能

引言 相信大家对GridView都不陌生,是非常有用的控件,用于平铺有序的显示多个内容项.打开任何WinRT应用或者是微软合作商的网站,都会在APP中发现GridView的使用."Tiles"提供了一个简单易用,平铺方式来组织内容显示.Windows8的开始菜单是最典型的GridView 示例."开始菜单"显示了系统中安装的所有应用程序,而且支持重新排列. 本文源于我们项目的开发人员,他们想在项目中提供与GridView相同的用户体验,想要创建类GridView控件

正则表达式,文件名通配,扩展正则之间的一些异同

正则表达式是一个神器,但初学linux时候还有文件名通配这样的东东.今天就总结一下文件名通配,正则表达式,扩展正则表达式之间有什么异同.可能写的不全,求指教. 使用方面: 正则多用来匹配过滤文本内容. 文件名通配符则用来匹配文件名较多. 支持命令: 文件处理,查看cp find ls rm mv touch 等一系列的文件匹配查找命令.(和上面说的是一个意思) 正则表达式则用在文本内容处理的各种工具grep,awk,sed,vim末行模式等. 匹配功能上正则规矩多,自然能力更强大,所以就这的区别

正则表达式30分钟入门教程 ——堪称网上能找到的最好的正则式入门教程

本教程堪称网上能找到的最好正则表达式入门教程 原地址:http://www.jb51.net/tools/zhengze.html 本文目标 30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它. 如何使用本教程 最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :) 别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有想像中的那么困难.当然,如果你看完了这篇教程之后,发现

正则表达式之扩展正则

扩展正则 扩展正则,指的是表达式中含有:+ ? | { } 等符号,在grep当中不能直接使用,需要加\拓义如果不想加\拓义的话可以使用egrep 或者grep -E 进行使用扩展正则:sed -r,和grep选项,含有+ ? | { }符号的时候需要加r选项,如果不加则需要加上\拓义awk默认支持grep.sed所有功能awk里面比较大小不能用数字和字母比较,这个比较不出来扩展正则 ? + | { }? 扩展正则 表示:?前面的字符有0个或1个a1? ==> a or a1 扩展正则 表示:+

egrep及扩展正则

模式:pattern 正则: grep:基本正则 Extended grep:扩展正则 基本正则: . :任意单个字符 []:指定范围内 [^]:指定范围外 次数匹配 *:字符出现任意次 ?:字符出现0次或1次 \{m,n\}:字符至少出现m次,至多出现n次 \{1,\}:字符至少出现1次 .*:匹配任意长度的任意字符 锚定: ^:锚定行首 $:锚定行尾 \<或\b:锚定单词词首 \>或\b:锚定单词词尾 \(\) \(\1):引用第1个小括号的内容 grep -i:忽略大小写 -v:反向查找

字符串转换为日期时间类型及正则式拾遗

菜鸟D最经在给项目写报文接口文件,不要理解错误啊,其实只是拼报文,解析报文.拼报文的过程没有什么难度,此处只需要注意重构就好,报文一般都是有通用的格式的,例如报文是xml格式的,这时候要多对比不同报文的差异,尽量减少重复代码.重构的最大目的在于即使代码发生更改,不必嵌入太深. 好了,废话完了,在解析报文时,遇到了一个“yyyyMMddHHmmss”格式的字符串需要转换为DateTime类型,菜鸟D理所当然的用了Convert.ToDateTime(),由于初时并不知道获取到的是一个怎样的字符串,

基础正则和扩展正则的作用

*基础正则表达式:basic regular expression BRE包括:^ $ . [] [^] 和扩展正则不同的是grep和sed不需要加参数也可以使用 ^^d 以d开头的行,例如:ls l|grep "^d" 给三剑客使用只查看以d开头的行,正则表达式的意思为,以.....开头,^d就是以d开头[[email protected] data]# grep '^m' oldboy.txt 以m开头的行my qq is 49000448 $以什么什么结尾的行,例如grep &q

在magento中使用正则式

$sqlCondition = "IFNULL(_table_name.value, _table_name_default.value) REGEXP '^[^a-zA-Z]'" $collection->getSelect()->where($sqlCondition) 在magento中使用正则式,布布扣,bubuko.com

iOS开发——UI篇Swift篇&amp;玩转UItableView(三)分组功能

UItableView分组功能 1 class UITableViewControllerGroup: UIViewController, UITableViewDataSource, UITableViewDelegate { 2 3 var titleString:String! 4 5 @IBOutlet var titleLabel:UILabel! 6 @IBOutlet var listTableView : UITableView! 7 8 9 //索引字母数组 10 var ar