Sed命令语法

来源:互联网 发布:微博怎么设置域名 编辑:程序博客网 时间:2024/06/13 03:25

sed命令语法
第一种:[address]command
   某些只能接受单个行地址,它们不能应用于某个范围的行,那么他的语法就是如下
第二种:[line-address]command
   还可以用大括号进行分组以使其作用于同一个地址:如下
第三种:address{
command1;
command2;
command3;
}
注意最后一个大括号要独占一行,而且要开头,后面不能接空格,括号里多个命令处于同一行,多个命令之间要加分号,比如n;d,d前可以有空格或者tab
例如
 #!/bin/sed
  2 /root/{
  3 s/root/555/g;
  4 s/bin/666/g;
  5
  6 }
  讲个小区别
  第一个脚本
 #!/bin/sed
/root/s/root/555/g;
/root/s/bin/666/g;
第二个脚本
#!/bin/sed
  2 /root/{
  3 s/root/555/g;
  4 s/bin/666/g;
  5
  6 }
 
  这两个脚本同时作用在/etc/passwd上
  第一个脚本,root行的bin不会换掉,因为第二句已经找不到有root的行了,因为root已经被第一句命令都换成换成555.
  而第二个脚本,root行的bin会换掉,因为只用的一个寻找命令,找到root的行后,会执行把root换成555的命令,然后在这行把bin换成666

 

 

0 0