Skip to content

Instantly share code, notes, and snippets.

@k06a
Last active October 18, 2022 11:09
Show Gist options
  • Save k06a/cbfd280969f1d8a9602abfa7ee9e2ea3 to your computer and use it in GitHub Desktop.
Save k06a/cbfd280969f1d8a9602abfa7ee9e2ea3 to your computer and use it in GitHub Desktop.
Passwords Query (+macOS-fix) (+sgrep)
#!/bin/bash
dir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
# magnet:?xt=urn:btih:7ffbcd8cee06aba2ce6561688cf68ce2addca0a3
# 1. Fixed letter1, letter2, letter3 assignments for macOS compatibility
# 2. Changed grep to sgrep (sorted grep), need to preinstall: npm i -g sgrep
if [ "$1" != "" ]; then
letter1=$(echo ${1:0:1})
if [[ $letter1 == [a-zA-Z0-9] ]]; then
if [ -f "$dir/data/$letter1" ]; then
sgrep "$1" "$dir/data/$letter1"
else
letter2=$(echo ${1:1:1})
if [[ $letter2 == [a-zA-Z0-9] ]]; then
if [ -f "$dir/data/$letter1/$letter2" ]; then
sgrep "$1" "$dir/data/$letter1/$letter2"
else
letter3=$(echo ${1:2:1})
if [[ $letter3 == [a-zA-Z0-9] ]]; then
if [ -f "$dir/data/$letter1/$letter2/$letter3" ]; then
sgrep "$1" "$dir/data/$letter1/$letter2/$letter3"
fi
else
if [ -f "$dir/data/$letter1/$letter2/symbols" ]; then
sgrep "$1" "$dir/data/$letter1/$letter2/symbols"
fi
fi
fi
else
if [ -f "$dir/data/$letter1/symbols" ]; then
sgrep "$1" "$dir/data/$letter1/symbols"
fi
fi
fi
else
if [ -f "$dir/data/symbols" ]; then
sgrep "$1" "$dir/data/symbols"
fi
fi
else
echo "[*] Example: ./query name@domain.com"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment