0

我的 bash 脚本是:

output=$(curl -s http://www.espncricinfo.com/england-v-south-africa-2012/engine/current/match/534225.html | sed -nr 's/.*<title>(.*?)<\/title>.*/\1/p')

score=echo"$output" | awk '{print $1}'
echo $score

上面的脚本只newline在我的控制台中打印,而我需要的输出是

$ curl -s http://www.espncricinfo.com/england-v-south-africa-2012/engine/current/match/534225.html | sed -nr 's/.*<title>(.*
?)<\/title>.*/\1/p' | awk '{print $1}'

SA

那么,为什么我没有从我的 bash 脚本中获得输出,而它在终端中运行良好,我是否echo"$output"以错误的方式使用它。

4

1 回答 1

2
#!/bin/bash

output=$(curl -s http://www.espncricinfo.com/england-v-south-africa-2012/engine/current/match/534225.html | sed -nr 's/.*<title>(.*?)<\/title>.*/\1/p')
score=$( echo "$output" | awk '{ print $1 }' )

echo "$score"

Score 变量可能为空,因为您的语法错误。

于 2012-07-21T08:21:48.147 回答