页面“Mtp on kcptun”与“Sed skill”之间的差异
(页面间的差异)
跳到导航
跳到搜索
第1行: | 第1行: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ==常用== | |
+ | sed -i "s/netstat/\/usr\/bin\/netstat/g" check.sh #还有一种不能转义的 是# ? | ||
− | + | ==!== | |
− | |||
− | |||
− | |||
<pre> | <pre> | ||
− | + | [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 | ||
− | + | </pre> | |
− | |||
− | |||
− | |||
− | |||
+ | ==sed 指定行后添加行== | ||
+ | <pre>在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</pre> | ||
− | + | ==sed删除指定行的注释== | |
− | + | <pre>#ln36 | |
+ | sed -i -e '36 s/^#//' file </pre> | ||
+ | ==#ln1 to ln6== | ||
+ | sed -i -e '1,6 s/^#//' file | ||
− | |||
− | + | ==sed 替换并插入== | |
+ | sed -i 's!old!new!' filename | ||
− | = | + | ==[[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变量 == | ||
+ | 如果要使用shell变量,就需要使用双引号 | ||
+ | |||
+ | =sed also= | ||
− | + | [https://blog.csdn.net/stpeace/article/details/46730991 sed基本用法简介] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [http://kodango.com/sed-and-awk-notes-part-2 Sed and awk 笔记之 sed 篇:模式空间与地址匹配] | |
− | |||
− | |||
+ | [https://www.cnblogs.com/taosim/p/4000528.html sed awk插入,替换指定行的特定字符串,删除指定行首的] | ||
− | + | [https://baike.xsoftlab.net/view/595.html Linux使用sed删除和替换文件中某一行的方法] | |
− | |||
− | + | [[category:ops]] [[category: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变量,就需要使用双引号