博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sed用法
阅读量:6329 次
发布时间:2019-06-22

本文共 2125 字,大约阅读时间需要 7 分钟。

查找数据

1、-n:加上-n后,sed才会被处理;不加则全部打印

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

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

dockerroot:x:498:498:Docker User:/var/lib/docker:/sbin/nologin

[root@test ~]# sed -n  '/^root/'p /etc/passwd

root:x:0:0:root:/root:/bin/bash

2、打印出第一,二行

[root@test ~]# sed -n '1,2'p /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

打印最后一行

[root@test ~]# sed -n '$'p /etc/passwd

3、支持通配符

[root@test ~]# sed -n '/^t*t/p' /etc/passwd 

tcpdump:x:72:72::/:/sbin/nologin

test:x:507:111::/home/test:/bin/bash

test1:x:509:111::/home/test1:/bin/bash

4、-e:多点编辑

删除数据

1、将含有root的行都删除

[root@test ~]# sed '/root/'d /etc/passwd

2、删除第2行到最后一行

[root@test ~]# sed '2,$'d /etc/passwd

root:x:0:0:root:/root:/bin/bash

3、删除test行,直到最后一行

[root@test ~]# sed '/test/,$'d /etc/passwd

更改数据:

-i:表示执行

1、将test更改为test-gz

[root@test ~]# sed -n 's#test#test-gz#g'p passwd 

test-gz:x:507:111::/home/test-gz:/bin/bash

test-gz1:x:509:111::/home/test-gz1:/bin/bash

gztest-gz:x:555:111::/home/zg/:/bin/bash

2、将0-9的删除

[root@test ~]# sed 's#[0-9]##g' passwd 

[root@test ~]# sed 's/[a-zA-Z]//g' test.txt

3、

[root@test jpg]# ls *|sed -r 's#(^.*)_test.*#mv & \1.txt#g'

mv 1_test.txt 1.txt

mv 2_test.txt 2.txt

mv 3_test.txt 3.txt

mv 4_test.txt 4.txt

mv 5_test.txt 5.txt

[root@test jpg]# ls *|sed -r 's#(^.*)_test.*#mv & \1.txt#g'|bash

增加数据:

a 追加文本到指定行后

i 插入文本到指定行前

数据准备:

[root@test ~]# cat 1.txt 

101 zhang 

102 wo

103 yu

104 sl

105 yn

[root@test ~]# sed '2a 102 test' 1.txt 

101 zhang 

102 wo

102 test

103 yu

104 sl

105 yn

[root@test ~]# sed '2i 102 test' 1.txt 

101 zhang 

102 test

102 wo

103 yu

104 sl

105 yn

例子:调换2个字符串的位置

sed 's#\(zabbix\)\(.*\)\(nologin\)#\3\2\1#g' passwd 

nologin:x:996:994:Zabbix Monitoring System:/var/lib/zabbix:/sbin/zabbix

()作为一个整体,()在sed中为特殊字符,需要用 \ 脱意

以任意字符开头的,在前面都加上123;&表示前面的内容

sed 's#^.*$#123&#g' passwd

123virftp:x:1002:1002::/home/virftp:/sbin/nologin

123pure-ftp:x:1010:1010::/home/pure-ftp:/bin/bash

123zabbix:x:996:994:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin

123roooooooooot

123rooodt

本文转自 jiekegz  51CTO博客,原文链接:http://blog.51cto.com/jacksoner/1979372

转载地址:http://gmwoa.baihongyu.com/

你可能感兴趣的文章
python写的监控mysql主从的app
查看>>
MySQL Group Replication调研剖析
查看>>
我的友情链接
查看>>
云计算实施经验集锦 案例经验汇总
查看>>
MySQL体系结构:八大功能模块浅析
查看>>
索尼大变身:消费电子业务转向医疗设备
查看>>
初识DB2 AESE:管理DB2环境的解决方案
查看>>
angular2 错误集。
查看>>
kangle 开发路线图
查看>>
lamp cacti nagios
查看>>
Go 语言net/http 包使用模式:监听多端口等等
查看>>
Android4.2环境搭建
查看>>
14章类型信息-之类型转换前先做检查--之instanceof
查看>>
CentOS 6.5安装Tomcat环境
查看>>
安全基线规范之Cisco核心交换机
查看>>
转 javascript des 加密
查看>>
Play Framework 2.5 整合 MyBatis
查看>>
select&epoll
查看>>
Linux实用命令总结
查看>>
手机流量用完了看看我是怎么办的?(上)
查看>>