使用命令行获取最新汇率?

And*_*nes 6 wget command-line

我正在寻找一种使用命令行在线获取最新汇率的方法。我想将它与另一个程序一起使用。直到现在我只有这个:

wget -qO- "http://www.google.com/finance/converter?a=1&from=usd&to=inr&hl=es" |  sed '/res/!d;s/<[^>]*>//g';
Run Code Online (Sandbox Code Playgroud)

不是我的代码,在网上找到的。

它会输出到控制台,但我需要将它保存在一个文件中或保存到其他程序中将调用该命令的变量中。我没有 wget 的经验,也找不到任何其他方式来做我想做的事。是否有任何程序(Windows 是首选,但 *nix 是可以接受的)来做到这一点,或者有没有 wget 的方法?

Syn*_*ech 1

sed如果您可以找到一个以自动化友好方式提供外汇信息的网站,那么您可以完全放弃对 的调用,而只需使用-O的开关wget。在那之前,您发现的命令可以在 Windows 端口的wgetsed上正常工作;你只需要做一些小调整。首先,您必须将调用中的单引号替换sed为双引号,并删除结尾的分号。其次,您需要将最终输出重定向到文件或环境变量而不是控制台。

  • 对于控制台输出:

    wget -qO- "google.com/finance/converter?a=1&from=usd&to=inr" | sed "/res/!d;s/<[^>]*>//g"
    
    Run Code Online (Sandbox Code Playgroud)
  • 对于文件输出(根据需要调整文件名和路径):

    wget -qO- "google.com/finance/converter?a=1&from=usd&to=inr" | sed "/res/!d;s/<[^>]*>//g" > forex_%date%.log
    
    Run Code Online (Sandbox Code Playgroud)
  • 对于变量输出(根据需要调整变量名称):

    for /f "delims=" %%i in ('wget -qO- "google.com/finance/converter?a=1&from=usd&to=inr" ^| sed "/res/!d;s/<[^>]*>//g"') do @set forex=%%i
    
    Run Code Online (Sandbox Code Playgroud)