LINUX sed多行文本如何处理?

嗨部落的朋友们,你们好,今天RAK给大家带来了LINUXsed多行文本的处理方法,大家有不理解的可以下方评论哟。

本案例要求使用sed工具来完成下列任务操作:
修改主机名配置文件
修改hosts文件,添加两条映射记录:192.168.4.5 与 svr5.tarena.com、svr5,还有119.75.217.56与www.baidu.com方案

sed工具的多行文本处理操作:
i:在指定的行之前插入文本
a:在指定的行之后追加文本
c:替换指定的行

步骤
实现此案例需要按照如下步骤进行。
步骤一:修改主机名配置文件

1)确认修改前的配置

[root@svr5 ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=svr5.tarena.com

2)使用sed修改主机名配置所在行的内容(c整行替换)

[root@svr5 ~]# sed  -i \
 '/^HOSTNAME/cHOSTNAME=mysvr.tarena.com' /etc/sysconfig/network 

3)确认修改结果

[root@svr5 ~]# cat /etc/sysconfig/network                                             
NETWORKING=yes
HOSTNAME=mysvr.tarena.com

4)恢复原有配置

# sed -i \
‘/^HOSTNAME/cHOSTNAME=svr5.tarena.com’ /etc/sysconfig/network

# cat /etc/sysconfig/network
NETWORKING=yes

步骤二:修改hosts文件,添加新的记录

1)确认修改前的配置

# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

localhost localhost.localdomain localhost6 localhost6.localdomain6

2)使用sed修改hosts文件,添加两行新纪录(a追加)

# sed -i ‘$a192.168.4.5 svr5.tarena.com svr5\

119.75.217.56 www.baidu.com’ /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.4.5 svr5.tarena.com svr5

3)确认修改结果

# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.4.5 svr5.tarena.com svr5

完成以上步骤,我们的问题就解决了,感谢大家的观看,有不同见解评论后会第一时间回复哦!

%RAK部落%

此教程来自固定链接:http://www.rakbuluo.com/p41

原文链接:,转发请注明来源!

发表评论