【发布时间】:2020-10-09 06:48:16
【问题描述】:
尝试在 windows 机器上执行 svn 命令并捕获相同的输出。
代码:
import subprocess
cmd = "svn log -l1 https://repo/path/trunk | grep ^r | awk '{print \$3}'"
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
'grep' is not recognized as an internal or external command,
operable program or batch file.
我明白'grep' 不是Windows 实用程序。
出现“grep”错误不被识别为内部或外部命令,
可运行的程序或批处理文件。”
它是否只限于在 Linux 上执行? 我们可以在 Windows 上执行相同的操作吗? 我的代码对吗?
【问题讨论】:
-
Grep 是一个 GNU 程序,默认在 Linux 上可用。但也有可用的 Windows 版本,例如这里sourceforge.net/projects/unxutils 或者您可以安装Chocolatey Package Manager 并通过
choco install grep安装grep。另一种方法是在 Windows(由 Microsoft)+ Linux 映像(如 Ubuntu)上安装 WSL。然后你有一个 shell 可以访问你的常规 NTFS 文件系统但运行 Linux。 -
此命令提示输入密码。如何自动输入密码?
-
每个问题请限制为一个问题。应该很容易找到如何对 Subversion 使用公钥身份验证,因为这是一个非常常见的问题。
标签: python-3.x linux svn grep