Se você quer apenas as células de dados da tabela, é possível usar xmlstarlet fo
seguido por xmlstarlet sel
. O principal problema que você está tendo é com o xpath. Se você adicionar alguns elementos "wildcard" ( //
), você obterá o resultado desejado:
# fetch url and send to standard out (-s)
curl -sL http://int.soccerway.com/ |
# interpret input as html (-H) and try to recover as much as possible (-R)
xmlstarlet fo -H -R 2> /dev/null |
# use the following xpath expression and return the value (-t -v),
# also add a newline after the result (-n)
xmlstarlet sel -t -v '//table//tr//h3/span' -n 2> /dev/null |
# only show the first 10 values
head -n10
Saída:
World - Friendlies
Argentina - Prim B Nacional
Australia - National Premier Leagues
Australia - NPL Youth League
Bangladesh - Premier League
Belarus - Premier League
Benin - Championnat National
Brazil - Serie A
Brazil - Serie D
Brazil - Copa Paulista