! and sed支持使用自定义分隔符
[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
写脚本需要替换json串中的路径 脚本如下:
path=/root/baixw/test
sed -i "s/path=.*/path=$path/g" ./sed_path.txt
#正确使用办法
path=/root/baixw/test
sed -i "s?path=.*?path=$path?g" ./sed_path.txt
sed替换路径字符串遇到的问题
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
每行的头添or 行尾加字符
在每行的头添加字符,比如"HEAD",命令如下:
sed "s/^/HEAD&/g" test.file
eg sed "s/^/huagui\//g" file # 在每行首加 huagui/
在每行的行尾添加字符,比如“TAIL”,命令如下:
sed "s/$/&TAIL/g" test.file
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在文本第一行和最后一行添加字符串
shell在文本第一行和最后一行添加字符串
sed '1i 添加的内容' file #这是在第一行前添加字符串
sed '$i 添加的内容' file #这是在最后一行行前添加字符串
sed '$a添加的内容' file #这是在最后一行行后添加字符串
sed 's!^!truncate table &!g' tablist >taball
8916 cat taball
8917 sed 's/$/&;/g' taball
8918 sed 's/$/&;/g' taball >good
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
linux shell sed命令 在文本每行 行尾 或 行首 添加字符
Sed and awk 笔记之 sed 篇:模式空间与地址匹配
sed awk插入,替换指定行的特定字符串,删除指定行首的
Linux使用sed删除和替换文件中某一行的方法
linux系统中sed命令提取指定的行
三剑客之sed特点
sed替换成换行符/回车符