Если вы хотите использовать pkgs.alpinelinux.org в виде сценария, вы можете добавить html2text в свой дистрибутив (для Alpine :apk добавить html2text )и использовать этот сценарий, который я сделал 10 минут назад....:)
#!/bin/sh
file=$1
arch=${2:-x86_64}
branch=${3:-edge}
valid_branch="v3.3 v3.4 v3.5 v3.6 v3.7 v3.8 v3.9 v3.10 edge all"
valid_arch="armv7 s390x ppc64le armhf aarch64 x86 x86_64 all"
usage() {
echo -e "\nUsage: $0 <pattern> [arch] [branch]\n"
echo -e "\t<pattern>: Mandatory. Is the file you are searching. Supports wildcards (e.g. wge*) "
echo -e "\t[arch]: Optional (default: x86_64). Architecture. Valid values: $valid_arch"
echo -e "\t[branch]: Optional (default: edge). Alpine releases. Valid values: $valid_branch\n"
exit 1;
}
query() {
curl -s -d"$1" -H "application/x-www-form-urlencoded" -X GET https://pkgs.alpinelinux.org/contents | sed "s///\//g" | html2text -nobs -ascii | sed /^$/d | sed '1d' | awk /^File/,/*Copy*/ |grep -vE 'Privacy|Policy'
}
if ! [ $file ] ; then usage; fi
echo $valid_arch | grep -qi $arch || ( echo "Invalid arch. Valid values are: $valid_arch"; exit 1 )
echo $valid_branch | grep -qi $branch || ( echo "Invalid branch. Valid values are: $valid_branch"; exit 1 )
if [ $branch == "all" ]; then
if [ $arch == "all" ]; then
for b in $valid_branch; do
query "branch=$b&file=$file"
done
else
for b in $valid_branch; do
query "branch=$b&file=$file&arch=$arch"
done
fi
else
query "branch=$branch&file=$file&arch=$arch"
fi
Надеюсь, это поможет.
. :Франческо
У вас должна быть команда zipinfo
, если у вас есть unzip
.
Попробуйте zipinfo -2t 'data.ZIP;1'
илиzipinfo -2t 'data.zip;1'
(в зависимости от ситуации)
Это должно вывести что-то вроде:-
Archive: data.ZIP;1
Zip file size: 1069878 bytes, number of entries: 999
filename1
filename2
...
999 files, 1727702 bytes uncompressed, 1060860 bytes compressed: 38.6%