在字符串处理中,最重要的就是查找和替换。
sed [选项] 处理脚本 输入文件...
-r是用于在sed命令中使用扩展正则表达式的选项。如果没有指定选项,sed命令会默认将基本正则表达式视为正则表达式。
-e选项用于为sed命令设置要执行的处理脚本。如果没有指定任何选项,sed命令会将第1个非选项的参数作为处理脚本来运行。例如指定多个处理脚本
$ sed -e 's/:/,/g' -e 's/bin//g' /etc/passwdroot,x,0,0,root,/root,//bash,x,1,1,,/,/s/nologindaemon,x,2,2,daemon,/s,/s/nologinadm,x,3,4,adm,/var/adm,/s/nologinlp,x,4,7,lp,/var/spool/lpd,/s/nologinsync,x,5,0,sync,/s,//sync……以下省略……
-i选项的后面指定一个字符串参数,sed命令还会对编辑之前的原文件备份
例如将:(冒号)替换为_(下划线)
$ sed 's/:/_/g' /etc/passwd
在上面的示例中,处理脚本s/:/_/并没有使用地址。如果像这样省略了地址,则文件的全部内容都会成为处理对象。
例如第2-4行作为命令的处理对象
$ sed '2,4s/:/_/g' /etc/passwd
▼使用s命令将匹配到指定模式的内容删除
“替换后字符串”也可以是空字符串。这就相当于删除匹配到的部分,s命令末尾的标志是可以控制替换操作的符号,常用的主要是g和i。标志g表示对匹配到匹配模式的所有结果进行替换。i就代表匹配到的第一行。
如果不需要使用任何标志,则标志部分可以省略。此外,如果要同时使用多个标志,可以像ig或gi这样以任意的顺序指定多个标志。
使用/对/字符进行转义
$ sed 's//bin///usr/bin//g' /etc/passwdroot:x:0:0:root:/root:/usr/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologin……
使用%作为分隔符
$ sed 's%/bin/%/usr/bin/%g' /etc/passwdroot:x:0:0:root:/root:/usr/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin……
工业物联网有哪些关键技术和主要应用领域说明
四个方面解读松下发布的柜式开关洗衣机
iphone8什么时候上市多少钱?iphone7s/iphone8/iphone8 plus三机齐发,确定9月12日发布,价格很亮眼
LoRaWAN仅需少量带宽 最适合都会人口密集环境
胡厚崑面向全球,通过社交媒体十种语言进行了年报和公司战略解读
shell脚本基础:正则表达式sed
什么是新型电力系统?新型电力系统特征有哪些
空气环境质量自动监测站哪家好
Keil(MDK-ARM)系列教程(五) _Configuration(Ⅰ)
爱芯元智成功获得知识产权试点单位认定
基础知识:通过 DFF 控制改善功率因数与 THD
罗克韦尔柯林斯MA700涡轮螺旋桨飞机提供先进电子惶恐系统
伺服系统的惯量匹配原则
无人机培训机构可实现推动整个生态经济更好更快地发展
人工智能产业发展分析:美国与日本已经抢占先机领先于其他国家
关于VR发展方向,Valve和Oculus看法迥异
基于单片机的按键中断控制
火神山秒建5G基站,“云监工”背后的通信技术
深圳单警执法视音频记录仪的功能特点
又上新!北通新游戏手柄海报现身 背景英朗剪影耐人寻味