“Sed skill”的版本间的差异
跳到导航
跳到搜索
(→常用) |
|||
第23行: | 第23行: | ||
== sed输出文件的指定行 输出指定的段落== | == sed输出文件的指定行 输出指定的段落== | ||
<pre> | <pre> | ||
− | sed -n | + | sed -n '1,2p' infile #//print line 1 to 2 |
sed ‘/pattern/!p’ infile //匹配pattern的行不输出 | sed ‘/pattern/!p’ infile //匹配pattern的行不输出 | ||
第29行: | 第29行: | ||
sed -n ‘2,$p’ file //print line 2 to end of line | sed -n ‘2,$p’ file //print line 2 to end of line | ||
</pre> | </pre> | ||
+ | |||
==sed 指定行后添加行== | ==sed 指定行后添加行== | ||
<pre>在29行之后添加 | <pre>在29行之后添加 |
2021年10月18日 (一) 11:24的版本
目录
常用
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输出文件的指定行 输出指定的段落
sed -n '1,2p' infile #//print line 1 to 2 sed ‘/pattern/!p’ infile //匹配pattern的行不输出 sed -n ‘2,$p’ file //print line 2 to end of line
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变量,就需要使用双引号