我正在使用GNU并行下载一批文件,然后我想压缩它们在同一时间与gzip。我有一个文件的https地址列表(http_list)
cat htpp_list | parallel -j 72 wget
字符串它将下载扩展名为 *.jpeg的文件然后我这样做:
ls -al *.jpeg | awk '{print $NF}' > file_list cat file_list | parallel -j 72 gzip
型有没有一种方法可以只写一行代码,同时下载和压缩?
qij5mzcb1#
不分析ls。使用glob或find。不要虐待猫。使用<file而不是cat file | command。使用shellcheck检查脚本。我想同时用gzip压缩它们。我看没有理由把它们压缩起来。
find
<file
cat file | command
work() { name=$(basename "$1") curl "$1" | gzip > "$name".jpeg.gz } export -f work parallel -j 72 work <htpp_list
字符串
vybvopom2#
您可以尝试以下内容:
cat htpp_list | parallel -j 72 wget; ls -al *.jpeg | awk '{print $NF}' | parallel -j 72 gzip
字符串但再想想,因为这条线变得相当复杂
2条答案
按热度按时间qij5mzcb1#
不分析ls。使用glob或
find
。不要虐待猫。使用
<file
而不是cat file | command
。使用shellcheck检查脚本。
我想同时用gzip压缩它们。
我看没有理由把它们压缩起来。
字符串
vybvopom2#
您可以尝试以下内容:
字符串
但再想想,因为这条线变得相当复杂