为什么这些代码行没有返回任何结果?
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。此语法适用于大多数其他命令,我很困惑为什么它现在不起作用。
- 为什么上面的代码 return 命令没有输出?
- 我应该如何修改它以确保它 return 是 ping?
您需要将 \2 转义为 \\2。此外,您可能希望 运行 .chomp() 在结果字符串上。
终端命令:
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。此语法适用于大多数其他命令,我很困惑为什么它现在不起作用。
- 为什么上面的代码 return 命令没有输出?
- 我应该如何修改它以确保它 return 是 ping?
您需要将 \2 转义为 \\2。此外,您可能希望 运行 .chomp() 在结果字符串上。