【发布时间】:2017-03-22 18:11:42
【问题描述】:
在文件test.py 中显示:
#!/usr/bin/env python
import os
import glob
for f in glob.glob('*.txt'):
print f
...我想以编程方式替换:
glob.glob('*.txt')
...与:
glob.glob('*.txt')+glob.glob('*.dat') 使用 sed。
我试过了:
sed -i "s,glob.glob('*.txt'),glob.glob('*.txt')+glob.glob('*.dat'),g" test.py
...但是这不会替换字符串。我有一种预感,这与在字符串中使用单引号来替换和/或解释 shell 本身 (bash) 中的各种引号有关。出了什么问题?
【问题讨论】:
-
如果您有多个地方需要进行替换(如果没有,为什么不直接手动进行呢?),您应该在调用
glob周围定义一个包装函数,所以是只有一个地方可以改变。