我有使用“rsync”下载的“gz”文件。然后,当这些文件被压缩时,我需要使用gunzip来提取它们(我可以使用gunzip的任何其他替代方法)。我希望把所有这些命令一起到管道有类似的东西rsync file | gunzip
使用rsync下载并使用gunzip解压缩,并将所有内容放在一个管道中
我原来的命令如下: awk -F "\t" '$5~/^(reference genome|representative genome)$/ {sub("ftp", "rsync", $20); b=$20"/*genomic.fna.gz"; print b" viral/." }' assembly_summary_viral.txt | xargs -l1 rsync --copy-links --times --recursive --verbose --exclude="*rna*" --exclude="*cds*"
它看起来有点复杂,但它的下载,我需要的文件,并没有问题。我添加了| gunzip
但是,压缩文件的提取不起作用,只能下载它们。
有什么建议吗?
管道将stdout重定向到管道后面命令的stdin。我假设rsync命令的stdout不是'gunzip'可以使用的。我也想知道'xargs rsync'是如何工作的。俏皮。 – JNevill
我不是shell命令的专家......但是,当我尝试管道awk的输出时,我发现脚本xargs rsync通过互联网,并且它工作正常! – dabid