树莓派可以做网站空间吗,贵州省建设局网站,网络营销方式和平台推广,检察门户网站建设1、定义
sed全称是#xff1a;stream editor 流编辑器
对文件的操作无非就是”增删改查“#xff0c;**sed命令就是实现对文件的”增删改查“。**
**man sed//man 的解释**
用于过滤和转换文本的流编辑器
2、功能
Sed 主要用来自动编辑一个或多个文件、简化对文件的反复…1、定义
sed全称是stream editor 流编辑器
对文件的操作无非就是”增删改查“**sed命令就是实现对文件的”增删改查“。**
**man sed//man 的解释**
用于过滤和转换文本的流编辑器
2、功能
Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
sed 默认不会直接修改源文件数据而是会将数据复制到缓冲区中修改也仅限于缓冲区中的数据。
3、sed与vi的区别
vi 采用的是交互式文本编辑模式你可以用键盘命令来交互性地插入、删除或替换数据中的文本。
sed 采用的是流编辑模式非交互式编辑器最明显的特点是在 sed 处理数据之前需要预先提供一组规则sed 会按照此规则来编辑数据。
4、sed工作原理
1sed 会一次处理一行内容。
2处理时把当前处理的行存储在临时缓冲区中成为模式空间接着用sed命令处理缓冲区中的内容处理完成后把缓冲区的内容送往屏幕。接着处理下一行这样不断重复直到文件末尾。
3文件内容并没有改变除非你使用重定向存储输出。
5、语法
sed [-hnV] [ -escript] [-fscript文件] [文本文件]
sed [选项] [脚本命令] 文件名
选项部分常见选项包括 -n-e-i-f-r选项。
1-e 如果需要用sed对文本内容进行多种操作则需要执行多条子命令来进行操作。
2-f 指定sed脚本的文件名
如果命令操作比较多的时候就会比较麻烦这时候把多个子命令操作写入脚本文件然后使用 -f 选项来指定该脚本
3-n 取消默认的输出
默认情况下sed 会在所有的脚本指定执行完毕后会自动输出处理后的内容而该选项会屏蔽自动输出需使用 print 命令来完成输出。
4-i 此选项会直接修改源文件要慎用。
脚本命令常见包括 增a 删d 改s(替换) 插入i 打印p 取代c
1a 新增 a 的后面可以接字串而这些字串会在新的一行出现(目前的下一行)
2c 取代 c 的后面可以接字串这些字串可以取代 n1,n2 之间的行
3d 删除因为是删除啊所以 d 后面通常不接任何内容
4i 插入 i 的后面可以接字串而这些字串会在新的一行出现(目前的上一行)
5p 打印亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行只输出被替换命令修改过的行
6s 取代可以直接进行取代的工作. s 的动作可以搭配正规表示法例如 1,20s/old/new/g 就是啦
6、示例及说明
本节知识 实操
1查找并替换每行第一个“hello”为“你好”sed s/hello/你好/ 1.txt 2查找替换每行中所有“hello”为“你好”sed s/hello/你好/g 1.txt 3删除含有“hello”的行sed /hello/d 1.txt 4删除第2行sed 2d 1.txt 5删除最后一行sed ‘$d’ 1.txt 6删除第2行到最后一行:sed ‘2,$d’ 1.txt