逗号转义
#!/usr/bin/python
import os
JETTY_SCRIPT_PATH=/etc/jetty.conf
JETTY_ALIAS="/etc/kk/yy/dd/mm"
JETTY_ALIAS2 = JETTY_ALIAS.replace("/", "\/")
os.system("sudo sed -i '/jetty\ start/ s/su/nohup\ su/g' %s " %
JETTY_SCRIPT_PATH)
os.system("""sudo sed -i "/su\ -\ www\ -c/ s/jetty\ start'/%s\ start'\ >\ myout.file\ 2>\&1\ \&/g" %s """ % (JETTY_ALIAS2,JETTY_SCRIPT_PATH))
' 单引号其实无所谓,外面用" 双引号就行。当你还有其它时。第三层外面用""" 三引号。
这里有 后台执行的命令 nohup cmd &" , 接收它的输出用 > myout.file 2>&1.
转行 和 tab
\n 转行
\t tab; 但是 在sed命令符后时为 \\t
如sed -i '1 a\\thello world ' ./test.sh
举例如下
[root@vm010099101015 /cloud/app/sls-common]
#cat ./overwrite.sh
#!/bin/sh
[root@vm010099101015 /cloud/app/sls-common]
#sudo sed -i '2 ai\n\ti\n\t\ti\n\t\t\ti' ./overwrite.sh
[root@vm010099101015 /cloud/app/sls-common]
#cat ./overwrite.sh
#!/bin/sh
i
i
i
i
### 这里的 tab 是 ‘\\t’
[root@vm010099101015 /cloud/app/sls-common]
#sudo sed -i '2 a\\t\t\ti\n\t\ti\n\ti\ni' ./overwrite.sh
[root@vm010099101015 /cloud/app/sls-common]
#cat ./overwrite.sh
#!/bin/sh
i
i
i
i
i
i
i
i
逗号转义与sed命令详解
本文深入探讨了在Shell脚本中逗号的转义技巧,以及如何使用sed命令进行文本替换和插入操作。通过具体实例展示了如何在路径字符串中正确转义逗号,避免shell解释器错误解析,并介绍了sed命令在文件内容修改上的强大功能。
804

被折叠的 条评论
为什么被折叠?



