feat: Add `zipRoot()`

Get root directory path inside ZIP file
pull/2176/head
xymopen 2020-01-09 16:47:10 +08:00
parent 683c78ee4d
commit 78280b9c15
1 changed files with 30 additions and 0 deletions

View File

@ -140,6 +140,36 @@ archAffix(){
return 0
}
zipRoot() {
unzip -lqq "$1" | awk -e '
NR == 1 {
prefix = $4;
}
NR != 1 {
prefix_len = length(prefix);
cur_len = length($4);
for (len = prefix_len < cur_len ? prefix_len : cur_len; len >= 1; len -= 1) {
sub_prefix = substr(prefix, 1, len);
sub_cur = substr($4, 1, len);
if (sub_prefix == sub_cur) {
prefix = sub_prefix;
break;
}
}
if (len == 0) {
prefix = "";
nextfile;
}
}
END {
print prefix;
}
'
}
downloadV2Ray(){
rm -rf /tmp/v2ray
mkdir -p /tmp/v2ray