-
f
:直½
½
sed
在一
文件
-
f filename
可以
filename
sed
作;
-
r
sed
作支持的是延伸型正
表示法的
法。
(
预设
是基
表示法
)
-
i
:直½修改
取的
文件
容,而不是由屏幕
出。
明:
[n1[,n2]]function
n1, n2
:不
存在,一般代表『
选择½
作的行
』,
来说
,如果我的
是需要在
10
20
行之
间½
行的,
10,20[
作行
]
function
有底下
些咚咚:
a
:新增,
a
的后面可以½字符串,而
些字符串
在新的一行出
(
目前的下一行
)
c
:取代,
c
的后面可以½字符串,
些字符串可以取代
n1,n2
的行!
d
除,因
除啊,所以
d
后面通常不½任何咚咚;
i
:插入,
i
的后面可以½字符串,而
些字符串
在新的一行出
(
目前的上一行
)
p
:打印,亦即
½
个选择
据印出。通常
p
参数
sed
-
n
一起
作~
s
:取代,可以直½
½
行取代的工作哩!通常
这个
s
作可以搭配正
表示法!
例如
1,20s/old/new/g
就是啦!
.
以行为单位的新增
/
删除功能
sed
光是用看的是看不懂的啦!所以又要来练习了!先来玩玩删除与新增的功能吧!
范例一:
½
/etc/passwd
容列出并且打印行
,同
请½
2~5
除!
[dmtsai@study ~]$
nl /etc/passwd | sed '2,5d'
1 root:x:0:0:root:/root:/bin/bash
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
.....(
后面省略
).....
看到了吧?
sed
的动作为
'2,5d'
,那个
d
就是删除!因为
2-5
行给他删除了,所以显示的数据就没
2-5
行啰~
另外,注意一下,原本应该是要下达
sed -e
才对,没有
-e
也行啦!同时也要注意的
是,
sed
后面½的动作,请务必以
''
两个单引号括住喔!
如果题型变化一下,举例来说,如果只要删除第
2
行,可以使用『
nl /etc/passwd | sed '2d'
』来达成,
至于若是要删除第
3
到最后一行,则是『
nl /etc/passwd | sed '3,$d'
』的啦,那个
钱字号『
$
』代表
最后一行!
范例二:承上
,在第二行后
(
亦即是加在第三行
)
加上『
drink tea.
』字
[dmtsai@study ~]$
nl /etc/passwd | sed '2a drink tea'
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
drink tea
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
.....(
后面省略
).....