sed用法 + 自己总结实用工具。
使用方法:比如替换/etc/ssh/sshd/sshd_config 中的:UsePAM.* 为:UsePAM no 同时并备份原文件K3?\(?_6Ae z$K$K
sed -i.bak -e 's/UsePAM.*$/UsePAM no/' /etc/ssh/sshd_config
7Cx3fzN]'E
重起生效 /etc/rc.d/sshd restart
jd1Q5p*F
命令详细用法:$_ u+bnmcXb
av3~M2N0W
Sed 命令列可分成编辑指令与文件档部份。其中 , 编辑指令负责控制所有的编辑工作 ; 文件档表示所处理的档案。.]"g_+r vCs;Q
sed 的编辑指令均由位址(address)与函数(function)两部份组成 , 其中 , 在执行时 , sed 利用它的位址参数来/gsM faN1Q
决定编辑的对象;而用它的函数参数(解[3])编辑。
此外 , sed 编辑指令 , 除了可在命令列上执行 , 也可在档案内执行。其中差别只是在命令列上执行时 , 其前必)kal'H5S
须加上选项 -e ; 而在档案(解[4])内时 , 则只需在其档名前加上选项 -f。另外 , sed 执行编辑指令是依照它
们在命令列上或档内的次序。3~ lvOD9?T
*|]V8KA3Z[ g
下面各节 , 将介绍执行命令列上的编辑指令 、sed 编辑指令、执行档案内的编辑指令、执行多个档案的编辑、及
执行 sed 输出控制。
'E/_,H&jT
2.1 执行命令列上的编辑指令3A!V@+Yr w
2.2 sed 编辑指令
2.3 执行档案内的编辑指令
2.4 执行多个档案的编辑
2.5 执行 sed 输出控制
2.1.执行命令列上的编辑指令
当编辑指令(参照[section 2.2])在命令列上执行时 , 其前必须加上选项 -e 。其命令格式如下 :!I.V/]L:}U4W
sed -e '编辑指令1' -e '编辑指令2' ... 文件档6@aN4]6U,U6z)A
其中 , 所有编辑指令都紧接在选项 -e 之後 , 并置於两个 " ' " 特殊字元间。另外 , 命令上编辑指令的执行是由r[^_5e I?|4l+@6O3N
左而右。
一般编辑指令不多时 , 使用者通常直接在命令上执行它们。例如 , 删除 yel.dat 内 1 至 10 行资料 , 并将其omQ?h&t3\h;e
馀文字中的 "yellow" 字串改成 "black" 字串。此时 , 可将编辑指令直接在命令上执行 , 其命令如下 :0B#x:YT\7u1~E
sed -e '1,10d' -e 's/yellow/black/g' yel.dat.`Q%[?'k c3@.w
在命令中 , 编辑指令 '1,10d'(解[5])执行删除 1 至 10 行资料 ; 编辑指令 's/yellow/black/g'(解[6]) ,
"yellow" 字串替换(substuite)成 "black" 字串。T$lm7D [
2.2 sed 的编辑指令
sed 编辑指令的格式如下 :
[address1[,address2]]function[argument]