#!/usr/bin/env bash set -uo pipefail # drop -e LIST=${1:-list} FILE=${2:-} [[ -z "$FILE" ]] && { echo "usage: $0 [wordlist] "; exit 1; } i=0 while IFS= read -r line; do ((i++)) (( i % 1000 == 0 )) && echo "$i tried..." unzip -P "$line" -t "$FILE" >/dev/null 2>&1 if [[ $? -eq 0 ]]; then echo "FOUND: $line" exit 0 fi done < "$LIST" echo "not found" exit 1