#!/usr/bin/bash if [ "$#" -lt 1 ] || [ "$#" -gt 3 ]; then echo "Usage: $0 list file.zip" exit 1 fi LIST=$1 FILE=$2 COUNT=$(mktemp) echo 0 > "$COUNT" export FILE COUNT xargs -a "$LIST" -P4 -I{} bash -c ' line="$1" # atomic-ish counter n=$(($(<"$COUNT")+1)) echo "$n" > "$COUNT" ((n % 1000 == 0)) && echo "$n tries..." if unzip -P "$line" -t "$FILE" >/dev/null 2>&1; then echo "FOUND: $line" killall xargs 2>/dev/null fi ' _ {}