Ruby输出作为系统命令的输入
我正在尝试通过(谷歌云)下载大量文件。您可以传递要下载的URL列表: 通过使用-I选项,可以将URL列表(每行一个)传递到stdin上进行复制,而不是作为命令行参数。这允许您在管道中使用gsutil上载或下载程序生成的文件/对象,例如:Ruby输出作为系统命令的输入,ruby,posix,Ruby,Posix,我正在尝试通过(谷歌云)下载大量文件。您可以传递要下载的URL列表: 通过使用-I选项,可以将URL列表(每行一个)传递到stdin上进行复制,而不是作为命令行参数。这允许您在管道中使用gsutil上载或下载程序生成的文件/对象,例如: some|u program|gsutil-mcp-igs://my bucket 我的意思是,如何从Ruby,从程序内部做到这一点?我试图输出它们,但似乎不起作用 URL=[“url1”、“url2”、“url3”] `echo{puts url}|gsuti
some|u program|gsutil-mcp-igs://my bucket
我的意思是,如何从Ruby,从程序内部做到这一点?我试图输出它们,但似乎不起作用
URL=[“url1”、“url2”、“url3”]
`echo{puts url}|gsutil-mcp-igs://my bucket`
有什么想法吗
一种可能的解决方法是将URL保存在一个文件中,并使用cat file | gsutil-m cp-I gs://my bucket
,但这感觉有些过分。你能试试echo'{url.join(“\n”)}
如果putput
则返回nil,而不是要返回的字符串。由于同样的原因,插值失败。您可以尝试echo'{url.join(“\n”)}'
如果put
put
则返回nil,而不是要返回的字符串。由于同样的原因,插值失败。尝试使用url=尝试使用url=谢谢,这为我指明了正确的方向!我的echo语句中缺少引号:`echo'{url.join('\n')}'|wc-l`谢谢,这为我指明了正确的方向!我的echo语句缺少引号:`echo'#{url.join('\n')}'|wc-l`