2013年3月11日 星期一 晴
SED
一、复制文件
[root@desktop7 ~]# cp /etc/passwd sed.txt
[root@desktop7 ~]# cat sed.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
[root@desktop7 ~]# vim sed.txt
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 news:x:9:13:news:/etc/news:
11 uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
12 operator:x:11:0:operator:/root:/sbin/nologin
13 games:x:12:100:games:/usr/games:/sbin/nologin
14 gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
~
~
二、具体操作
1、删除2-5行,对比原文件
[root@desktop7 ~]# sed '2,5d' sed.txt
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]# cat sed.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
原文件未变
2、将更改结果输入文件
[root@desktop7 ~]# sed -i '2,5d' sed.txt
[root@desktop7 ~]# cat sed.txt
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
文件内容改变
3、追加内容
[root@desktop7 ~]# sed '1a test' sed.txt
root:x:0:0:root:/root:/bin/bash
test
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
[root@desktop7 ~]# cat sed.txt
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
原文件未变
4、追加内容后导入新文件
[root@desktop7 ~]# sed '1a test' sed.txt >new.txt
[root@desktop7 ~]# cat new.txt
root:x:0:0:root:/root:/bin/bash
test
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
5、插入新内容到文件
[root@desktop7 ~]# sed '1i test' sed.txt >new.txt
[root@desktop7 ~]# cat new.txt
test
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
6、行尾加内容
[root@desktop7 ~]# sed '$a test' sed.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
test
7、行尾插入内容
[root@desktop7 ~]# sed '$i test' sed.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
test
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
8、替换
(1)替换单独一行
[root@desktop7 ~]# sed '2c OVE' sed.txt
root:x:0:0:root:/root:/bin/bash
OVE
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
对比原文件(无bin的第二行)
[root@desktop7 ~]# cat sed.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
(2)替换字符
[root@desktop7 ~]# sed 's/o/A/' sed.txt
rAot:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nAlogin
daemAn:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nAlogin
lp:x:4:7:lp:/var/spAol/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdAwn:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spAol/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spAol/uucp:/sbin/nologin
Aperator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nAlogin
gApher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
对比
[root@desktop7 ~]# cat sed.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
全部替换
[root@desktop7 ~]# sed 's/o/A/g' sed.txt
rAAt:x:0:0:rAAt:/rAAt:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nAlAgin
daemAn:x:2:2:daemAn:/sbin:/sbin/nAlAgin
adm:x:3:4:adm:/var/adm:/sbin/nAlAgin
lp:x:4:7:lp:/var/spAAl/lpd:/sbin/nAlAgin
sync:x:5:0:sync:/sbin:/bin/sync
shutdAwn:x:6:0:shutdAwn:/sbin:/sbin/shutdAwn
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spAAl/mail:/sbin/nAlAgin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spAAl/uucp:/sbin/nAlAgin
AperatAr:x:11:0:AperatAr:/rAAt:/sbin/nAlAgin
games:x:12:100:games:/usr/games:/sbin/nAlAgin
gApher:x:13:30:gApher:/var/gApher:/sbin/nAlAgin
[root@desktop7 ~]#
对比原文(无变化)
[root@desktop7 ~]# cat sed.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
9、正则表达式
[root@desktop7 ~]# sed '/o/a echo=hello/' sed.txt
root:x:0:0:root:/root:/bin/bash
echo=hello/
bin:x:1:1:bin:/bin:/sbin/nologin
echo=hello/
daemon:x:2:2:daemon:/sbin:/sbin/nologin
echo=hello/
adm:x:3:4:adm:/var/adm:/sbin/nologin
echo=hello/
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
echo=hello/
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
echo=hello/
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
echo=hello/
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
echo=hello/
operator:x:11:0:operator:/root:/sbin/nologin
echo=hello/
games:x:12:100:games:/usr/games:/sbin/nologin
echo=hello/
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
echo=hello/
对比
[root@desktop7 ~]# sed '/o/a echo=hello' sed.txt
root:x:0:0:root:/root:/bin/bash
echo=hello
bin:x:1:1:bin:/bin:/sbin/nologin
echo=hello
daemon:x:2:2:daemon:/sbin:/sbin/nologin
echo=hello
adm:x:3:4:adm:/var/adm:/sbin/nologin
echo=hello
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
echo=hello
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
echo=hello
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
echo=hello
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
echo=hello
operator:x:11:0:operator:/root:/sbin/nologin
echo=hello
games:x:12:100:games:/usr/games:/sbin/nologin
echo=hello
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
echo=hello
[root@desktop7 ~]#
再测
[root@desktop7 ~]# sed '/oo/a echo=hello' sed.txt
root:x:0:0:root:/root:/bin/bash
echo=hello
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
echo=hello
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
echo=hello
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
echo=hello
operator:x:11:0:operator:/root:/sbin/nologin
echo=hello
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
原文
[root@desktop7 ~]# cat sed.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]# sed '/oo/a echo=hello' sed.txt
insert插入
[root@desktop7 ~]# sed '/^g/i hello' sed.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
hello
games:x:12:100:games:/usr/games:/sbin/nologin
hello
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
9、静默模式
[root@desktop7 ~]# sed -n '/^g/i hello' sed.txt
hello
hello
10、编辑脚本文件
(1)追加a
[root@desktop7 ~]# vim jiaoben.txt
2a 曾经,有一段真挚的感情摆在我面前,我没有珍惜。
(意为第二行追加内容——加于第三行)
使用脚本文件
[root@desktop7 ~]# sed -f jiaoben.txt sed.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
曾经,有一段真挚的感情摆在我面前,我没有珍惜。
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
(2)insert插入
[root@desktop7 ~]# vim jiaoben.txt
2i 曾经,有一段真挚的感情摆在我面前,我没有珍惜。
(第二行插入内容——插于第二行)
[root@desktop7 ~]# sed -f jiaoben.txt sed.txt
root:x:0:0:root:/root:/bin/bash
曾经,有一段真挚的感情摆在我面前,我没有珍惜。
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
(3)y 替换字符
[root@desktop7 ~]# vim jiaoben.txt
y/abco/ABCO/
(将小写字符abco替换为ABCO)
[root@desktop7 ~]# sed -f jiaoben.txt sed.txt
rOOt:x:0:0:rOOt:/rOOt:/Bin/BAsh
Bin:x:1:1:Bin:/Bin:/sBin/nOlOgin
dAemOn:x:2:2:dAemOn:/sBin:/sBin/nOlOgin
Adm:x:3:4:Adm:/vAr/Adm:/sBin/nOlOgin
lp:x:4:7:lp:/vAr/spOOl/lpd:/sBin/nOlOgin
synC:x:5:0:synC:/sBin:/Bin/synC
shutdOwn:x:6:0:shutdOwn:/sBin:/sBin/shutdOwn
hAlt:x:7:0:hAlt:/sBin:/sBin/hAlt
mAil:x:8:12:mAil:/vAr/spOOl/mAil:/sBin/nOlOgin
news:x:9:13:news:/etC/news:
uuCp:x:10:14:uuCp:/vAr/spOOl/uuCp:/sBin/nOlOgin
OperAtOr:x:11:0:OperAtOr:/rOOt:/sBin/nOlOgin
gAmes:x:12:100:gAmes:/usr/gAmes:/sBin/nOlOgin
gOpher:x:13:30:gOpher:/vAr/gOpher:/sBin/nOlOgin
[root@desktop7 ~]#
(4)n,m增加内容(从n行到m行)
[root@desktop7 ~]# vim jiaoben.txt
3,5 a 创新测试
[root@desktop7 ~]# sed -f jiaoben.txt sed.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
创新测试
adm:x:3:4:adm:/var/adm:/sbin/nologin
创新测试
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
创新测试
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
(对原文第三行到第五行进行操作,每行都加入内容。结果如上)
(5)n~m的操作(从第n行起,每隔m行进行操作)
[root@desktop7 ~]# vim jiaoben.txt
3~5 a 增加新内容,如下:hello,everyone
[root@desktop7 ~]# sed -f jiaoben.txt sed.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
增加新内容,如下:hello,everyone
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
增加新内容,如下:hello,everyone
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
增加新内容,如下:hello,everyone
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]#
(从第3行起,每隔5行新增内容)
(6)替换
[root@desktop7 ~]# vim jiaoben.txt
s/:/#/g
[root@desktop7 ~]# sed -f jiaoben.txt sed.txt
root#x#0#0#root#/root#/bin/bash
bin#x#1#1#bin#/bin#/sbin/nologin
daemon#x#2#2#daemon#/sbin#/sbin/nologin
adm#x#3#4#adm#/var/adm#/sbin/nologin
lp#x#4#7#lp#/var/spool/lpd#/sbin/nologin
sync#x#5#0#sync#/sbin#/bin/sync
shutdown#x#6#0#shutdown#/sbin#/sbin/shutdown
halt#x#7#0#halt#/sbin#/sbin/halt
mail#x#8#12#mail#/var/spool/mail#/sbin/nologin
news#x#9#13#news#/etc/news#
uucp#x#10#14#uucp#/var/spool/uucp#/sbin/nologin
operator#x#11#0#operator#/root#/sbin/nologin
games#x#12#100#games#/usr/games#/sbin/nologin
gopher#x#13#30#gopher#/var/gopher#/sbin/nologin
[root@desktop7 ~]#
(7)多个内容同时替换
a、原文件一行的简单编辑
原文件
[root@desktop7 ~]# vim lianxi.txt
<html><title>课堂练习</title><body>曾经,有一段真挚的感情摆在我的面前,我没有珍惜。当我失去的时候,才追悔莫及。如果上天在给我一次重来的机会,我愿意对那个女孩说三个字:“I LOVE YOU”。如果非要在它的前面加一个期限>的话,我希望是——一万年!!!</body></html>
编辑脚本文件
/<html>/{s//\/\/html/2}
/<title>/{s//\/\/title/2}
/<body>/{s//\/\/body/2}
替换
[root@desktop7 ~]# sed -f sed2.txt lianxi.txt
<html><title>课堂练习<///title><body>曾经,有一段真挚的感情摆在我的面前,我没有珍惜。当我失去的时候,才追悔莫及。如果上天在给我一次重来的机会,我愿意对那个女孩说三个字:“I LOVE YOU”。如果非要在它的前面加一个期限的话,我希望是——一万年!!!<///body><///html>
[root@desktop7 ~]#
b、列出奇数偶数行
原文
[root@desktop7 ~]# vim sed.txt
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 news:x:9:13:news:/etc/news:
11 uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
12 operator:x:11:0:operator:/root:/sbin/nologin
13 games:x:12:100:games:/usr/games:/sbin/nologin
14 gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
列出奇数行
[root@desktop7 ~]# sed -n "1~2p" sed.txt >001.txt
[root@desktop7 ~]# vim 001.txt
1 root:x:0:0:root:/root:/bin/bash
2 daemon:x:2:2:daemon:/sbin:/sbin/nologin
3 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
4 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
5 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
6 uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
7 games:x:12:100:games:/usr/games:/sbin/nologin
列出偶数行
[root@desktop7 ~]# sed -n "2~2p" sed.txt >002.txt
[root@desktop7 ~]# vim 002.txt
1 bin:x:1:1:bin:/bin:/sbin/nologin
2 adm:x:3:4:adm:/var/adm:/sbin/nologin
3 sync:x:5:0:sync:/sbin:/bin/sync
4 halt:x:7:0:halt:/sbin:/sbin/halt
5 news:x:9:13:news:/etc/news:
6 operator:x:11:0:operator:/root:/sbin/nologin
7 gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[root@desktop7 ~]# vim sed2.txt
\c(oo|ro?t)c{
p
}
[root@desktop7 ~]# vim sed.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
~
[root@desktop7 ~]# sed -n -r -f sed2.txt sed.txt
root:x:0:0:root:/root:/bin/bash
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
[root@desktop7 ~]#
筛选IP地址
[root@desktop7 ~]# ifconfig eth0|grep 'inet addr'|sed 's/^.*addr://g'|sed 's/Bcast.*$//g'
192.168.0.7