“Sed skill”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
→‎!
第35行: 第35行:
 
==[[Sed删除或者替换有关键字的一行]]==
 
==[[Sed删除或者替换有关键字的一行]]==
  
 +
=追加不太像==
 +
<pre>
 +
 +
所有192.168.0.1 开头的行都被替换成它自己加localhost  192.168.0.1localhost                                                                                                 
 +
sed  's/^192.168.0.1/&localhost/' filename                                                                                                                                 
 +
                                                                                                                                                                           
 +
                                                                                                                                                                           
 +
evan@myxps:~/tmp$ cat e.txt                                                                                                                                               
 +
i1111                                                                                                                                                                     
 +
2222                                                                                                                                                                       
 +
                                                                                                                                                                           
 +
                                                                                                                                                                           
 +
                                                                                                                                                                           
 +
                                                                                                                                                                           
 +
                                                                                                                                                                           
 +
3333                                                                                                                                                                       
 +
evan@myxps:~/tmp$ sed -i  -n 's/^i1/&love/p' e.txt                                                                                                                         
 +
evan@myxps:~/tmp$ cat e.txt                                                                                                                                               
 +
i1love111                                                                                                                                                                 
 +
           
 +
</pre>
 
==sed 使用shell变量 ==
 
==sed 使用shell变量 ==
 
如果要使用shell变量,就需要使用双引号
 
如果要使用shell变量,就需要使用双引号

2020年12月11日 (五) 07:28的版本


常用

 sed  -i "s/netstat/\/usr\/bin\/netstat/g" check.sh  #还有一种不能转义的 是# ?

!

[root@localhost ~]# cat  /var/spool/cron/root 
*/2  *  *  *  *    /root/check.sh

[root@localhost ~]# sed -i 's!*/2!#*!' /var/spool/cron/root

[root@localhost ~]# cat  /var/spool/cron/root 
#*  *  *  *  *    /root/check.sh

sed 指定行后添加行

在29行之后添加
sed -i '29a user=mysql' /etc/my.cnf
sed -i '29a character-set-server=utf8' /etc/my.cnf
sed -i '29ainnodb_file_per_table=1' /etc/my.cnf

sed删除指定行的注释

#ln36
sed -i -e '36 s/^#//' file 

#ln1 to ln6

sed -i -e '1,6 s/^#//' file


sed 替换并插入

sed -i 's!old!new!' filename

Sed删除或者替换有关键字的一行

追加不太像=


所有192.168.0.1 开头的行都被替换成它自己加localhost  192.168.0.1localhost                                                                                                   
 sed  's/^192.168.0.1/&localhost/' filename                                                                                                                                  
                                                                                                                                                                             
                                                                                                                                                                             
 evan@myxps:~/tmp$ cat e.txt                                                                                                                                                 
 i1111                                                                                                                                                                       
 2222                                                                                                                                                                        
                                                                                                                                                                             
                                                                                                                                                                             
                                                                                                                                                                             
                                                                                                                                                                             
                                                                                                                                                                             
 3333                                                                                                                                                                        
 evan@myxps:~/tmp$ sed -i  -n 's/^i1/&love/p' e.txt                                                                                                                          
 evan@myxps:~/tmp$ cat e.txt                                                                                                                                                 
 i1love111                                                                                                                                                                   
             

sed 使用shell变量

如果要使用shell变量,就需要使用双引号

sed also

sed基本用法简介

Sed and awk 笔记之 sed 篇:模式空间与地址匹配

sed awk插入,替换指定行的特定字符串,删除指定行首的

Linux使用sed删除和替换文件中某一行的方法