我有使用「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