sed grouping 操作理解

echo "aGsdff:bDEf" >>employees
[email protected]:/home/koyaku# sed ‘s/\([^,]*\):\([^,]*\)/\U\1\L\2/‘ employees
Jones,Bob,232-78-3456
Jackeson,Jane,,
Federer,Jack,xxx-xx-xxxx
Maw,Michael,1879-0
Alexander,Sally,345-89-8095
Beder,Ioana,567-34-9802
Staines,Brad,,
sdfsd df
,
cdf , sdf
ac,D
ac,Df
ac,DG
AGSDFFbdef

第一个s 表替换

\([^,]*\) 这个表示在第一个group中,遇到非逗号(,)并且贪婪(×) 作为第一个待操作的对象

:  这个分号在这里是分隔符,分割第一个group 和第二个

\([^,]*\) 。第二个group,就是分割符号之后的为剩下的,在剩下的部分抓取非逗号的文本,一直到遇到逗号作为第二个group

/\U\1\L\2  对第一个group 进行upper 操作全部变为大写。对第二个group 进行操作变为小写 lower

不知道理解对不对。  感觉这也太繁琐了 ,看晕了

时间: 2024-10-27 18:23:43

sed grouping 操作理解的相关文章

文本处理sed常用操作

文本处理sed常用操作 linux sed (stream editor) is a Unix utility that parses and transforms text, using a simple, compact programming language 修改配置文件的sed sed -i '/#datelist/ s/\=.*/\=."'$var'"/g' file sed 往文件顶部加一行 sed -i '1s/^/line to insert\n/' file sed

第11章:sed进阶操作

第11章:sed进阶操作 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法 sed命令行格式为:  sed  [option]  ‘command’  输入文本 [option] 常用选项: -n  ---   使用安静(silent)模式.在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上.但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会

三剑客之sed常用操作

SedSed是一个强大的文本处理工具可以采用正则匹配,对文本进行插入删除修改等操作Sed处理的时候,一次处理一行,每一次把当前处理的存放在临时缓冲区,处理完后输出缓冲区内容到屏幕,然后把下一行读入缓冲区,如此重复,直到结尾. 1.命令格式和参数sed [-nefr] [动作] 文件参数:-n 安静模式,在sed处理的时候,所有来自STDIN的数据都会被输出到终端,加上-n会只输出处理的哪行-e 直接在命令列上进行sed动作编辑-f 直接将sed的动作写在文件内-r sed动作支持延伸的正则表达(

(转)关于PV操作理解的例子

P就是请求资源,V就是释放资源. 问题1 一个司机与售票员的例子 在公共汽车上,为保证乘客的安全,司机和售票员应协调工作: 停车后才能开门,关车门后才能行车.用PV操作来实现他们之间的协调. S1:是否允许司机启动汽车的变量 S2:是否允许售票员开门的变量 driver()//司机进程 { while (1)//不停地循环 { P(S1);//请求启动汽车 启动汽车; 正常行车: 到站停车: V(S2); //释放开门变量,相当于通知售票员可以开门 } } busman()//售票员进程 { w

sed 命令操作

sed命令 -n 静默模式,不输出模式空间中的内容 编辑命令: d:删除 地址定界: startline,endline 1,3 /part1/,/part2/  匹配范围之间 /part/ 匹配到所匹配的字符 -n:静默模式,只显示匹配字符串或者行. a 在当前行下面插入文本. i 在当前行上面插入文本. r:在匹配航之后引入另一个文件内容. w:将匹配到的行输出到另一个文件. p:将匹配的行打印出来(也会输出原文件的内容),pn只显示打印的行. [[:upper:]] 匹配以大写字母开头的行

Git的操作理解

1.本地和远程的关系相当于两个分支,是相互独立的. 2.本地分支属于本地仓库,一个仓库可以包含多个分支. 3.commit是为了告诉Git这次提交我改了哪些东西:       pull是将远程commit与本地commit进行对比合并,解决代码冲突的问题:   push将本地已经合并完成的代码推送到远程.   所以为了应对多人合并开发的情况,一般是Git的操作顺序是:commit->pull->push 参考:https://segmentfault.com/q/101000000954929

python文件操作理解

文件打开方式 文件 study = open('文件','方式') 以某种方式打开文件,读,写,追加 r = 读 ,rb = 以二进制读取  r+ = 读写 文件指针都是从头读取, w = 写  wb = 以二进制写入 w+ = 读写  wb+ = 以二进制进行读写, 文件若存在则重写文件,不存在则创建文件 文件重写就是把文件里的内容清除然后重新写入, a = 追加  ab = 以二进制打开追加 a+ = 打开一个文件用于读写 ab+ = 以二进制打开文件执行读写, 文件指针放在末尾,文件若不存

三剑客之老二sed详解

    三剑客之老二sed 第1章 sed介绍 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件等等.如果我们相对这些文件进行一些编辑查询等操作时,我们可能会想到一些vi,vim,cat,more等命令.但是这些命令效率不高,这就好比一块空地准备搭建房子,请了10个师傅拿着铁锹挖地基,花了一个月的时间才挖完,而另外一块空地则请了个挖土机,三下五除二就搞定了,这就是效率.而在linux中的"挖土机"有三种型号:顶配awk,中配sed,标配grep.使用这些工具,我们

sed命令总结

在编写shell脚本的过程中,我们经常需要使用sed流编辑器和awk对文本文件进行处理. 什么是sed? sed是一种在线编辑器,它一次处理一行内容.sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保存结构.默认情况下,所有的输出行都被打印到屏幕上. sed的处理过程是什么? sed编辑器逐行处理文件(或输入),并将结果发送到屏幕.具体过程如下:首先sed先把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上.sed每