我想使用wget
将多个文件导入我的服务器,492个文件如下:https://trace.ncbi.nlm.nih.gov/Traces/sra/?study=ERP001736
所以我想复制"中所有文件的URL;文件名";列,以将它们保存到文件中,并使用wget
导入它们。
那么,我如何从该列中复制所有这些URL呢?
感谢阅读:(
既然已经标记了bash
,这应该可以工作。
wget -O-
用于将数据输出到标准输出,在标准输出中它是可擦除的。(默认情况下curl
会这样做。(
grep -oE
用于捕获URL(很高兴URL的格式足够规则,一个简单的regexp就可以工作(。
然后,wget -i
用于从生成的文件中读取URL。您可能希望添加-nc
或其他合适的部分获取标志;那些文件相当重。
wget -O- https://trace.ncbi.nlm.nih.gov/Traces/sra/?study=ERP001736 | grep -oE 'http://ftp.sra.ebi.ac.uk/[^"]+' > urls.txt
wget -i urls.txt
首先,我建议使用更具体、更健壮的实现
但是,在你靠墙匆忙的情况下-
$: curl -s https://trace.ncbi.nlm.nih.gov/Traces/sra/?study=ERP001736 |
sed -En '/href="http://.*clean.fastq.gz"/{s/^.*href="([^"]+)".*/1/;p;}' |
while read url; do wget "$url"; done
这是一个快速而粗糙的第一次传球,但它会给你一些帮助。
如果不急着,请尝试用perl或python编写一些更健壮、更循序渐进的东西。