长沙建设工程造价网站,企业作风建设心得体会,沈阳网站建设活动方案,wordpress4.7企业主题sed命令#xff1a;流编辑器1、sed基本用法#xff1a;sed:Stream EDitor行编辑器(全屏编辑器#xff1a;vi)2、sed#xff1a;模式空间(默认不编辑原文件#xff0c;仅对模式空间中的数据做处理#xff0c;处理结束后#xff0c;将模式空间打印至屏幕)3、sed [options…sed命令流编辑器1、sed基本用法sed:Stream EDitor行编辑器(全屏编辑器vi)2、sed模式空间(默认不编辑原文件仅对模式空间中的数据做处理处理结束后将模式空间打印至屏幕)3、sed [options] AddressCommand file.....-n:静默模式不再默认显示模式空间中的内容例如[rootOurlab ~]# sed -n /^L/p /etc/fstabLABEL/ / ext3 defaults 1 1LABEL/home /home ext3 defaults 1 2LABEL/boot /boot ext3 defaults 1 2LABELSWAP-sda5 swap swap defaults 0 0-i:直接修改原文件-e script -e script:可以同时执行多个脚本-f /path/to/sed_script:把脚本中保存的命令应用于指定的文件中用法sed -f /path/to/scripts file-r:表示使用扩展正则表达式Address:1、StartLine,EndLine比如1,100$:最后一行例如[rootOurlab ~]# sed 3,$d /etc/fstab2、/RegExp/比如/^root/例如[rootOurlab ~]# sed /oot/d /etc/fstab3、/Pattern1/,/pattern2/:第一次被pattern1匹配到的行开始至第一次被pattern2匹配到的行结束这中间的所有行4、LineNumber:指定的行5、StartLine, N:从startline开始向后的n行例如[rootOurlab ~]# sed 1,2d /etc/fstabCommand:d:删除符合条件的行例[rootOurlab ~]# sed 1,2d /etc/fstabp:显示符合条件的行例如[rootOurlab ~]# sed -n /^L/p /etc/fstabLABEL/ / ext3 defaults 1 1LABEL/home /home ext3 defaults 1 2LABEL/boot /boot ext3 defaults 1 2LABELSWAP-sda5 swap swap defaults 0 0a \string:在指定的行后面追加新行内容为string例如[rootOurlab ~]# sed /^L/a \#hello world /etc/fstabLABEL/ / ext3 defaults 1 1#hello world\n可以用于换行i \string:在指定的行前面添加新行内容为stringr filename:将指定的文件的内容添加至指定的行处例如[rootOurlab ~]# sed 2r /etc/issue /etc/fstabLABEL/ / ext3 defaults 1 1LABEL/home /home ext3 defaults 1 2Red Hat Enterprise Linux Server release 5.8 (Tikanga)Kernel \r on an \mw filename:将指定范围内的内容另存至指定的文件中例如[rootOurlab ~]# sed /oot/w /tmp/oot.txt /etc/fstab[rootOurlab ~]# cat /tmp/oot.txtLABEL/boot /boot ext3 defaults 1 2s/pattern/string/修饰符:查找并替换,默认只替换每行中第一次被匹配到的符串例如[rootOurlab ~]# sed s/oot/OOT/ /etc/fstabLABEL/bOOT /boot ext3 defaults 1 2加修饰符g:全局替换例如[rootOurlab ~]# sed s/oot/OOT/g /etc/fstabLABEL/bOOT /bOOT ext3 defaults 1 2i:忽略字符大小写s///(s###,s)分隔符不局限于‘/’只要保证三个一致可替换成其他符号例如[rootOurlab ~]# sed s#oot#OOT#g /etc/fstab:引用模式匹配整个串任务1like替换为liker,love替换为lover例如例如[rootOurlab ~]# sed s#l..e#r#g sed.txthello,likerhi,my lover后向引用\(\),\1,\2任务2like替换为Like,love替换为Love例如[rootOurlab ~]# sed s#l\(..e\)#L\1#g sed.txthello,Likehi,my Love课后练习1、删除/etc/grub.conf文件中行首的空白符[rootOurlab ~]# sed s/[[:space:]]//g /etc/grub.conf2、替换/etc/inittab文件中“id:3:initdefault:”一行中的数字为5[rootOurlab ~]# sed s\(id:\)[0-9]\(:initdefault:\)\15\2g /etc/inittab3、删除/etc/inittab文件中的空白行[rootOurlab ~]# sed /^$/d /etc/inittab4、删除/etc/inittab文件中开头的#号[rootOurlab ~]# sed s/^#//g /etc/inittab5、删除/etc/inittab文件中开头的#号但要求#号后面必须有空白字符[rootOurlab ~]# sed -r s/^#[[:space:]]//g /etc/inittab6、删除某文件中以空白符后面跟#类的行中的开头的空白字符及#[rootOurlab ~]# sed -r s/^[[:space:]]#//g ./testsed.txt7、取出/etc/rc.d/abc/cef/文件路径的目录名称[rootOurlab ~]# echo /etc/rc.d/abc/cef/ | sed -r s^(/.*/)[^/]/?\1g阅读(360) | 评论(0) | 转发(0) |