sed error: sed: -e expression #1, char 22: unterminated `s' command
sed error: sed: -e expression #1, char 22: unterminated `s' command
我运行在python中使用os.system
的sed命令。下面是代码。
os.system("sed -i /solid/s/Visualization Toolkit generated SLA File/chestwall/g mesh1.stl")
要更改的名称中有空格。另外,在最后部分,即 mesh1.stl
,1
需要是可变的。怎么做?
首先,对于这段代码,我得到的错误是:
sed: -e expression #1, char 22: unterminated s command
我试着把 /
放在最后。
- 其次,我需要
mesh1
成为上一行的变量。假设 mesh1 为 a
,并且每次 a
都会发生变化。这样怎么写?
确保 sed statement/command 在双引号或单引号中,然后在将字符串传递给 os.system
之前使用“+”连接字符串
import os
var=1
os.system("sed -i 's/solid/s/Visualization Toolkit generated SLA File/chestwall/g' mesh" + var + ".stl")
函数 os.system()
现在被认为已被取代
subprocess.call()
.
请您尝试以下操作:
import subprocess
a = 'mesh1'
cmd = ['sed', '-i', '/solid/s/Visualization Toolkit generated SLA File/chestwall/g', '{0}.stl'.format(a)]
subprocess.call(cmd)
您可以将命令作为列表而不是字符串传递,并且可以显式划分参数。
我运行在python中使用os.system
的sed命令。下面是代码。
os.system("sed -i /solid/s/Visualization Toolkit generated SLA File/chestwall/g mesh1.stl")
要更改的名称中有空格。另外,在最后部分,即 mesh1.stl
,1
需要是可变的。怎么做?
首先,对于这段代码,我得到的错误是:
sed: -e expression #1, char 22: unterminated s command
我试着把 /
放在最后。
- 其次,我需要
mesh1
成为上一行的变量。假设 mesh1 为a
,并且每次a
都会发生变化。这样怎么写?
确保 sed statement/command 在双引号或单引号中,然后在将字符串传递给 os.system
之前使用“+”连接字符串import os
var=1
os.system("sed -i 's/solid/s/Visualization Toolkit generated SLA File/chestwall/g' mesh" + var + ".stl")
函数 os.system()
现在被认为已被取代
subprocess.call()
.
请您尝试以下操作:
import subprocess
a = 'mesh1'
cmd = ['sed', '-i', '/solid/s/Visualization Toolkit generated SLA File/chestwall/g', '{0}.stl'.format(a)]
subprocess.call(cmd)
您可以将命令作为列表而不是字符串传递,并且可以显式划分参数。