IMOTK232APTO5HACVM2LWJXLF77PYVDGWPCMFBX3NMQUWRAFCUOAC function srch_topset NUM 3set PRINT_COUNT Falseset RG_ARGSfor arg in $argvswitch $argcase '--top-*'set NUM (echo $arg | sed 's/--top-//')if not test $NUM -gt 0 ^ /dev/nullerror_message "srch_top error: $arg must contain a number"return 1endcase --count -cset PRINT_COUNT Truecase '*'set RG_ARGS $RG_ARGS $argendendset PY_SCRIPT "import sysfrom heapq import nlargestfiles = sys.stdin.read().split()key_func = lambda line: int(line.split(':').pop())for l in nlargest($NUM, files, key=key_func):path, count = l.split(':')print(f'{count}: {path}')"if eval $PRINT_COUNTrg -c $RG_ARGS | python3 -c $PY_SCRIPTelserg -c $RG_ARGS | python3 -c $PY_SCRIPT | sed 's/^.*: //'endend
function srchset RG_ARGSset N_LARGEST 0for arg in $argvswitch $argcase '-n*'set -l num (echo $arg | rg -o '\d+')if test $num -gt 0set RG_ARGS $RG_ARGS "-c"set N_LARGEST $numendcase '*'set RG_ARGS $RG_ARGS $argendendset PY_SCRIPT "from heapq import nlargestfrom sys import stdinfrom sys import stdoutfor match_count in nlargest($N_LARGEST, stdin.readlines(), key=lambda l: l.split(':')[-1]):print(match_count.strip())"if test $N_LARGEST -gt 0rg $RG_ARGS | python -c "$PY_SCRIPT"elserg $RG_ARGSendend
function srch() {RG_ARGS=""N_LARGEST=0for arg in $@docase "$arg" in-n*)num=$(echo "$arg" | rg -o '\d+')if ((nag > 0)); thenRG_ARGS="$RG_ARGS -c" # add count flag to rgN_LARGEST=$numfi;;*)RG_ARGS="$RG_ARGS $arg"esacdonePY_SCRIPT="from heapq import nlargestfrom sys import stdinfrom sys import stdoutfor match_count in nlargest($N_LARGEST, stdin.readlines(), key=lambda l: l.split(':')[-1]):print(match_count.strip())"if ((N_LARGEST > 0)); thenrg $RG_ARGS | python -c "$PY_SCRIPT";elserg $RG_ARGSfi}