【发布时间】:2014-01-18 04:58:39
【问题描述】:
我有以下 python sript -
import os
command = "echo '12345 Tomcat' | sed -n 's/.*\(^.[0-9]*\).*/\1/p'"
os.system(command)
它打印 ascii 零字符 -
尝试在 shell 中运行此命令。它应该打印12345。
这是为什么?
【问题讨论】:
-
也许反斜杠需要转义?
-
@user000001 是的。现在我觉得自己很傻。
-
另外,如果上述命令是您想要实现的,您可能需要考虑在字符串上使用
re模块或.split()方法。 -
@GertvandenBerg 对于知道如何编写
regex和使用sed的人,你认为我不会知道吗? :) 这是我的命令的精简版本,只是为了说明这一点。 -
@KshitizSharma 这就是为什么它是一个评论......并且“如果”在开头;)
标签: python linux bash shell sed