企业网站管理系统教程,网站设计 韩国,菏泽做网站建设找哪家,菜鸟如何做网站Sed
Sed 类似于vim就是一个文本编辑器#xff0c;按行来进行编辑和排序 Sed的原理#xff1a;读取#xff0c;执行#xff0c;显示
读取#xff1a;读取文本内容之后#xff0c;读取到的内容存放到临时的缓冲区—模式空间
执行#xff1a;在模式空间#xff0c;根据…Sed
Sed 类似于vim就是一个文本编辑器按行来进行编辑和排序 Sed的原理读取执行显示
读取读取文本内容之后读取到的内容存放到临时的缓冲区—模式空间
执行在模式空间根据读取的文本内容按行执行除非指定行号否则会遍历执行依次执行从上往下执行
显示执行完之后把执行结果打印如果要改变生效模式空间被修改的内容会写入到指定的文件中。只是操作但是不最终写入文件只展示结果展示玩之后模式空间的数据会立即删除。 *面 Sed文本内容处理工具
如文件过大怎么办 首先split -l 或 split -b 进行切割 cat 文件名 | sed 进行处理 Sed仅适用于中型文件大型文件还是先分割 Sed
常用选项
sed -e 操作 文件1 | -e 操作 文件2
只对一个文件操作可以不加 -e -e条件操作选项-f指定脚本文件来处理输入的文件内容把命令写在脚本里用脚本里的命令来处理第二个文件里面的内容-i立即生效慎用-n显示script处理之后的内可禁止默认输出 常用操作符 s替换指定的字符a增加在当前行的下面插入指定内容操作符要用单引号引起来d删除指定的行i增加在当前行的上面插入新的内容c替换整行用的最多y替换字符但是替换前后的字符长度必须一致p打印r使用扩展正则 Sed核心作用就是改删增 Sed查功能没有Grep强大 sed -n p ky30.txt 可以显示一行 sed -n ky30.txt 只输出行号 sed -n n;p ky30.txt 既显示行号也显示内容 Sed 查找过滤
文本过滤模式对包含指定字符串的内容进行打印 sed -n /o/p ky30.txt 所有包含o的行会全部打印 运用基础正则表达式进行打印 sed -n /^root/p /etc/passwd 打印以root为开头的行 sed -n /bash$/p /etc/passwd 打印以bash为结尾的行 用拓展正则sed -r -n /etc/passwd sed -r -n /(99){2}/p /etc/passwd (99) 分组 {2}出现两次 p打印 打印包含两个99的所在行 在/etc/passwd 中过滤出要么是root开头要么是以bash结尾的所在行 sed -r -n /^root | bash$p /etc/passwd Sed 删除
指定行号进行删除 sed -n 3dp ky30.txt 删除第三行并打印 sed -n 1d3dp ky30.txt 删除第一行和第三行并打印 匹配字符串内容删除 sed /o/d ky30.txt 把包含o的内容删除 sed /big/d ky30.txt 把包含big的内容删除 sed /big/!d ky30.txt 把除了big的行都删除 sed /one/,/six/d test.txt 把包含one到six的行都删除并打印剩余行 删除空行 sed /^$/d ky30.txt * 面 免交互删除内容
怎么样不进入文件就能删除文件内的内容即免交互删除 方法一sed -i d 文件名 方法二cat /dev/null 文件名 Sed 替换 s替换字符串 c整行替换y单字符替换注意替换和被替换的两个字符长度要保持一致 l转换成小写的特殊符号在使用时需要转义符 \ u转换成大写的特殊符号 g全部替换如果不加只会更改首位字符 y单字符替换 sed y/12/34/ ky30.txt y用的较少 例 sed -n s/root/test/p /etc/passwd 只替换当前行的第一个root sed -n s/root/test/2p /etc/passwd 替换当前行两个root sed -n s/root/test/gp /etc/passwd 把所有root都替换为test 把以root开头的行注释掉 sed -n /^root/ s/^/#/p /etc/passwd 字母字符大小写替换 小写替换成大写 sed s/[a-z]/\u/g ky30.txt 大写替换小写 sed s/[A-Z]/\l\g ky30.txt 整行替换 sed /abc/c def ky30.txt 把abc替换成def *面 查看11.30到12点的日志内容 sed -n /Jul 20 113001//Jul 20 120001/p var/log/messages