找回密码
 注册
搜索
热搜: 回贴
微赢网络技术论坛 门户 服务器 Linux/BSD 查看内容

Sed用法集锦(注释、插入、删除)

2009-12-20 13:14| 发布者: admin| 查看: 120| 评论: 0|原作者: 琴姬

linux,其实也就是查看和修改配置文件的过程。
G6z ^ T)P g&q Q15722752
刚开始接触linux,其实还是老实用vi来编辑文件,不过同样的过程重复多次,你就要想办法简化你的过程。sed绝对是一个好的命令或者工具,你不需要用vi打开文件就可以直接编辑。
H o H(n&C |15722752
sed的用法网上很多,我也没有看懂多少。现在就是会对着简单的例子来修改。不过这其实也够了。我也只需要一些简单的功能。IXPUB技术博客4E1F a y?o5o,p ^ s
1:注释掉某一行
$X?I
C c?N1e2_15722752
这个经常会遇到的,把配置文件里某一行注释掉。让他不起作用。
%g h i Z)j)A E9~ G15722752
sed -i -e '121 s/^/#/' /usr/local/apache2/conf/httpd.confIXPUB技术博客 q } |;?"|0j3} j g2X
上面一行命令的意思,就是把121行注释掉。
V F _ { n W15722752
sed -i -e '121 s/^/#/' -i -e '122 s/^/#/' /usr/local/apache2/conf/httpd.conf
J M n:G u15722752
这个就是把121,122行注释掉。IXPUB技术博客 b;i-Q R0A?t T2m u ~
2:把注释#去掉,让这行起作用IXPUB技术博客;n#W)K1O D r6w c @ d x.T
sed -i 's/#ServerName
www.example.com:80/
ServerName
www.example.com:80/g'
/usr/local/apache2/conf/httpd.confIXPUB技术博客 ` F j4}$C p
这个命令就是把这行的#去掉。其实就是一个替换的过程,IXPUB技术博客 L ?-D d:a
3:在某行的位置插入一行IXPUB技术博客 C&x [ E
{ \!{8` ~8O0m
如果只是在一个文档后面追加一行,那很简单。>> 就可以搞定。不过如果是在指定的某一行里插入。IXPUB技术博客/p @ a s.z8F
V
sed -i "8 s/^/alias vi='vim'/" /root/.bashrcIXPUB技术博客 e/F%c/C U V9Q
就是在第8行插入 alias vi='vim'
~)P7N$R C9^ T15722752
h2L5T z$w"X3[8L(S15722752
J
u0D-E Q&k*J r15722752
4:如何插入一行,包括特殊字符 /
c*O$l4F#p#t D i v h X15722752
sed -i "58 s/^/AddType application\/x-httpd-php .php .phtml/" httpd.confIXPUB技术博客9V
^/^ b?}#c M?J0n Z _
这样就让apache支持php,简单多了。
.@ S3V n o15722752
下面的用法还没有测试。改天测试
v D V O ~1k%K&m,a15722752
Sed:IXPUB技术博客/k B6t-J r(k
1、删除行首空格IXPUB技术博客 s'V r:K1m
sed 's/^[ ]*//g' filenameIXPUB技术博客
j3V l w%x
k n2M {
sed 's/^ *//g' filename
,f S m!~ t!N15722752
sed 's/^[[:space:]]*//g' filename
? o?D P8n P a15722752
2、行后和行前添加新行
7j6V0n3W S2Q,C*D y
Q15722752
行后:sed 's/pattern/&\n/g' filename
T.E b
S"B15722752
行前:sed 's/pattern/\n&/g' filename
*J N g#r f*_#I15722752
&代表patternIXPUB技术博客)V J \!J9r)h:g
c q(A4u7y6Q
3、使用变量替换(使用双引号)IXPUB技术博客(V;d w2N ^ N*e&f
sed -e "s/$var1/$var2/g" filename
l*b s/b \;o a?Y `5@15722752
4、在第一行前插入文本IXPUB技术博客#b-n E7L7N3r ^ f
sed -i '1 i\插入字符串' filename
:z"o ` ~2?:x N k c15722752
5、在最后一行插入IXPUB技术博客1} U M H,C Q
sed -i '$ a\插入字符串' filenameIXPUB技术博客 f7x3x i K.r c
6、在匹配行前插入IXPUB技术博客 o4k(A3l C U Q2B,H
sed -i '/pattern/ i "插入字符串"' filenameIXPUB技术博客 C C4P R e:Y Y
7、在匹配行后插入IXPUB技术博客1Y U![ E V e S U k
sed -i '/pattern/ a "插入字符串"' filename







最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 15:34 , Processed in 0.148764 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部