6. sed文本编辑工具

一、sed文本编辑工具

1、介绍

1.1 作用

命令行工具,用于修改文件 
注意: 默认只是在内存修改文本, 不修改原文件  

1.2 使用格式

# sed [option] 'script' 文件

# sed [option] '行操作' 文件 

行:省略不写, 默认操作所有行
行的写法: 
	1、行号		8
	2、起始行号, 终止行号		2,6
	3、/正则表达式/
	4、/正则表达式/,/正则表达式/

二、sed常用操作

1、删除整行 d

[root@node01 ~]# df -hT | sed '1d'

[root@node01 ~]# sed '/^$/d' /etc/fstab

[root@node01 ~]# df -hT | sed '/tmpfs/d'

2、显示整行 p

[root@node01 ~]# sed -n '2p' /etc/hosts

[root@node01 ~]# sed -n '4p' /etc/passwd

3、统计行数 =

[root@node01 ~]# sed -n '$=' /etc/passwd

4、整行替换 c \内容

sed -i '/#Port/c \Port 44444' /etc/ssh/sshd_config

5、追加内容 a \内容

[root@node01 ~]# sed '$a \export JAVA_HOME=/opt/jdk' /etc/profile

[root@node01 ~]# sed '$a \192.168.140.10    node01.linux.com' /etc/hosts

6、查找替换 s/旧/新/g

[root@node01 ~]# sed '4s/[0-9]/!/g' /etc/fstab 

[root@node01 ~]# sed 's/[0-9]/!/g' /etc/fstab 

[root@node01 ~]# sed 's|/|!|g' /etc/fstab 

[root@node01 ~]# history | sed -r 's|^[[:space:]]+||'

[root@node01 ~]# sed -r 's|^#[[:space:]]?||' /etc/fstab 

三、sed常用选项

  • -i 直接修改原文件
  • -r 支持扩展正则表达式
  • -n 取消内存最后显示结果
  • -e 多条件操作
[root@node01 ~]# sed -e '/^#/d' -e '/^$/d' /etc/fstab 
  • –follow-symlinks 软链接
[root@node01 ~]# sed -ri --follow-symlinks '1d' /tmp/file01 

练习:
1、删除df -hT命令行首及所有tmpfs的行
2、修改ssh配置文件,要求如下:

  1. 修改默认端口为55555
  2. 关闭DNS反解
  3. 禁止root用户远程登录
    3、将selinux配置文件中SELINUX=enforcing修改为SELINUX=disabled
    4、安装httpd,并修改其默认端口为8080
    5、在/etc/hosts文件中添加主机名解析
    6、在/var/log/messages日志文件中获取指定时间范围内的日志
    7、任意创建文件写入4行内容,将其第2, 4行注释
    8、显示文件/etc/passwd第五行内容
    9、删除历史命令前所有空白字符

办公地点、城区、办公时间、人数、办公人员
anhuaqiao xicheng 2019 100 teacher student staff
sanlitun chaoyang 2015 50 staff
minzuyuan Chaoyang 2015 48 student
Zhongguancun haidian 2012 200 teacher student

10、使用sed将chaoyang/Chaoyang换成朝阳
11、编写脚本,计算办公人数总和
12、用grep过滤出办公地点在朝阳的行

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值