小标
2019-01-23
来源 :
阅读 1211
评论 0
摘要:本文主要向大家介绍了【云计算】sed基本用法sed文本块处理、sed高级应用,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。
本文主要向大家介绍了【云计算】sed基本用法sed文本块处理、sed高级应用,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。
sed是流式编辑器,逐行处理和非交互的特点
sed命令的常用选项如下:
-n(屏蔽默认输出,默认sed会输出读取文档的全部内容)
-r(让sed支持扩展正则)
-i(sed直接修改源文件,默认sed只是通过内存临时修改文件,源文件无影响)
1)sed命令的 -n 选项
执行p打印等过滤操作时,希望看到的是符合条件的文本。但不使用任何选项时,默认会将原始文本一并输出,从而干扰过滤效果
下面看看sed工具的p指令案例集锦(自己提前生成一个a.txt文件)
[root@svr5 ~]# sed -n ‘p’ a.txt //输出所有行,等同于cat a.txt
[root@svr5 ~]# sed -n ‘4p’ a.txt //输出第4行
[root@svr5 ~]# sed -n ‘4,7p’ a.txt //输出第4~7行
[root@svr5 ~]# sed -n ‘4,+10p’ a.txt //输出第4行及其后的10行内容
[root@svr5 ~]# sed -n ‘/^bin/p’ a.txt //输出以bin开头的行
[root@svr5 ~]# sed -n ‘=’ a.txt //输出文件的行数 2)下面看看sed工具的d指令案例集锦(自己提前生成一个a.txt文件) [root@svr5 ~]# sed ‘3,5d’ a.txt //删除第3~5行 [root@svr5 ~]# sed ‘/xml/d’ a.txt //删除所有包含xml的行 [root@svr5 ~]# sed ‘/xml/!d’ a.txt //删除不包含xml的行,!符号表示取反 [root@svr5 ~]# sed ‘/^install/d’ a.txt //删除以install开头的行 [root@svr5 ~]# sed ‘" role="presentation">=’a.txt//输出文件的行数
2)下面看看sed工具的d指令案例集锦(自己提前生成一个a.txt文件)
[root@svr5~]#sed‘3,5d’a.txt//删除第3~5行
[root@svr5~]#sed‘/xml/d’a.txt//删除所有包含xml的行
[root@svr5~]#sed‘/xml/!d’a.txt//删除不包含xml的行,!符号表示取反
[root@svr5~]#sed‘/^install/d’a.txt//删除以install开头的行
[root@svr5~]#sed‘=’a.txt//输出文件的行数2)下面看看sed工具的d指令案例集锦(自己提前生成一个a.txt文件)[root@svr5~]#sed‘3,5d’a.txt//删除第3~5行[root@svr5~]#sed‘/xml/d’a.txt//删除所有包含xml的行[root@svr5~]#sed‘/xml/!d’a.txt//删除不包含xml的行,!符号表示取反[root@svr5~]#sed‘/^install/d’a.txt//删除以install开头的行[root@svr5~]#sed‘d’ a.txt //删除文件的最后一行
[root@svr5 ~]# sed ‘/^$/d’ a.txt //删除所有空行
3)sed命令的s替换基本功能(s/旧内容/新内容/选项):
[root@svr5 ~]# vim test.txt //新建素材
2017 2011 2018
2017 2017 2024
2017 2017 2017
[root@svr5 ~]# sed ‘s/2017/xxxx/’ test.txt
[root@svr5 ~]# sed ‘s/2017/xxxx/g’ test.txt
[root@svr5 ~]# sed ‘s/2017/xxxx/2’ test.txt
[root@svr5 ~]# sed ‘s/2017//2’ test.txt
[root@svr5 ~]# sed -n ‘s/2017/xxxx/p’ test.txt
4)下面看看sed工具的s指令案例集锦(自己提前生成一个a.txt文件)
注意:替换操作的分隔“/”可改用其他字符,如#、&等,便于修改文件路径
[root@svr5 ~]# sed ‘s/xml/XML/’ a.txt //将每行中第一个xml替换为XML
[root@svr5 ~]# sed ‘s/xml/XML/3’ a.txt //将每行中的第3个xml替换为XML
[root@svr5 ~]# sed ‘s/xml/XML/g’ a.txt //将所有的xml都替换为XML
[root@svr5 ~]# sed ‘s/xml//g’ a.txt //将所有的xml都删除(替换为空串)
[root@svr5 ~]# sed ‘s#/bin/bash#/sbin/sh#’ a.txt //将/bin/bash替换为/sbin/sh
[root@svr5 ~]# sed ‘4,7s/^/#/’ a.txt //将第4~7行注释掉(行首加#号)
[root@svr5 ~]# sed ‘s/^#an/an/’ a.txt //解除以#an开头的行的注释(去除行首的#号)
编写anonftp.sh脚本,用来装配匿名FTP服务
1)任务需求及思路分析
vsftpd服务的安装、改目录权限、起服务等操作可以直接写在脚本中。
修改vsftpd.conf配置的工作可以使用sed命令,根据默认配置,只需要定位到以#anon开头的行,去掉开头的注释即可。
2)根据实现思路编写脚本文件
[root@svr5 ~]# vim anonftp.sh
!/bin/bash
yum -y install vsftpd //安装vsftpd软件
cp /etc/vsftpd/vsftpd.conf{,.bak} //备份默认的配置文件
sed -i “/^#anon/s/^#//” /etc/vsftpd/vsftpd.conf //修改服务配置
chmod 777 /var/ftp/pub //调整目录权限
systemctl start vsftpd //启动服务
systemctl enable vsftpd //设为自动运行
[root@svr5 ~]# chmod +x anonftp.sh
[root@svr5 ~]# ./anonftp.sh
sed [选项] ‘条件指令’ 文件..
sed工具的多行文本处理操作:
i: 在指定的行之前插入文本
a:在指定的行之后追加文本
c:替换指定的行
注意:系统默认没有a.txt文件,需要自己创建一个测试文件!!!
[root@svr5 ~]# sed ‘2a XX’ a.txt //在第二行后面,追加XX
[root@svr5 ~]# sed ‘2i XX’ a.txt //在第二行前面,插入XX
[root@svr5 ~]# sed ‘2c XX’ a.txt //将第二行替换为XX
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号