为什么这些代码行没有返回任何结果?

Why aren't these lines of code returning any result?

终端命令:

ping -c 1 google.com | grep "time=" | sed -E "s/(.*)time=([.0-9]+) ms//"

returns 只是一个数字,用于说明 Google.com 的 ping 时间,没有其他统计信息。但是,如果我尝试在 Ruby 脚本中提取该输出:

detection_medium = `ping -c 1 google.com | grep "time=" | sed -E "s/(.*)time=([.0-9]+) ms//"`
puts detection_medium

没有输出 returned。此语法适用于大多数其他命令,我很困惑为什么它现在不起作用。

您需要将 \2 转义为 \\2。此外,您可能希望 运行 .chomp() 在结果字符串上。