服装网站建设的规模和类别,seo黑帽多久入门,网站目的及功能定位,网站建设类毕业设计介绍sedsed是一种流编辑器#xff0c;它一次处理一行内容#xff0c;把当前处理的行存储在临时缓冲区中#xff08;buffer#xff09;,称为模式空间#xff0c;接着sed命令处理缓冲区中的内容#xff0c;处理完成后#xff0c;把缓冲区的内容送往屏幕#…介绍sed sed是一种流编辑器它一次处理一行内容把当前处理的行存储在临时缓冲区中buffer,称为模式空间接着sed命令处理缓冲区中的内容处理完成后把缓冲区的内容送往屏幕执行下一个循环。会在两个循环之间清空模式空间但不会清空保留空间。这样不断重复直到文件末尾。除非你使用重定向输出或-i. sed 不会修改文件因为它处理的数据都是缓冲区里面的sed常用的参数和功能-n 只输出匹配到的内容-e 可以写多个匹配的模式每个模式之间用分开-r 支持扩展的正则表达式-f 将sed的动作写入一个文件中-i 直接修改原文件的内容flag 有四种标记1.数值 表示替换到第几处2.g 替换所有的匹配3.p 原先行的内容打印出来4.d 删除指定的内容5.c 匹配到的行替换指定的内容6. 匹配内容取反7.w 替换的内容保存在文件中测试实验测试文件的内容-n 测试输出匹配的内容 sed -n /abc/p test.txt-e 测试输出匹配的内容sed -n -e /abc/p -e /ABC/p test.txts替换匹配内容sed s/abc/BCD/ test.txt 若flag无g则替换第一行第一处匹配的abc替换为BCDsed s/abc/BCD/g test.txt 一行所有的abc都替换为BCDsed s/abc/BCD/2 test.txt 一行中第二次出现abc时进行替换sed /6$/i\I am a line insert! test.txt 在6为结尾的行前插入内容实例1 修改/etc/selinux/config 中的SELINUX的值sed -ri s/^(SELINUX).*/\1disabled/ /etc/selinux/config输出结果实例2 在修改/etc/my.conf 中某行增加内容sed /^\[mysqld\]/a\userroot\n passwd123456 /etc/my.conf实例3 用来代替分隔符sed -r s(socket).*\1/tmp/mysql.sok /etc/my.conf实例4 SHELL脚本内嵌入二进制可执行程序sed 1,/^# END OF THE SCRIPT/d $0 ${prog_name}# 在SHELL脚本中可以嵌入二进制可执行程序
# 思路将二进制可执行程序添加到SHELL末尾运行时再将该二进制可执行程序导出然后执行导出的二进制程序# ---------------------------------- Example
# 先准备SHELL脚本
[rootlocalhost ~]# cat test.sh
#!/bin/shprog_name./test.exesed 1,/^# END OF THE SCRIPT/d $0 ${prog_name} # 导出二进制程序这个步骤很重要 ...
chmod ux ${prog_name}
${prog_name} rm -f ${prog_name}# WARNING: Do not modify the following !!!
exit 0
# END OF THE SCRIPT ---------- 这是shell 脚本当前的最后一行# ------------------------------- # 将二进制可执行程序 /bin/date 嵌入到该脚本中
[rootlocalhost ~]# cat /bin/date test.sh # 执行脚本 test.sh, 验证是否输出与 date 命令一致[rootlocalhost ~]# ./test.sh
2012年 10月 24日 星期三 16:41:20 CST