#!/bin/bash
# usage: thisscript.sh [page number integer here]
# usage example: "thisscript.sh 201 &" = starts at page 200, put in
# background; then run "tail -f /mnt/e/dl/13b48ab/cronlog2.txt"

# Thanks to
# https://rimuhosting.com/knowledgebase/linux/misc/trapping-ctrl-c-in-bash
trap ctrl_c INT
function ctrl_c()
{
    echo "/mnt/e/dl/13b48ab/cron200.sh: page number $pagenum: ** CTRL-C was pressed, exiting with an exit code of 0 (no errors)." >> /mnt/e/dl/13b48ab/cronlog2.txt
    exit 0
}

pagenum=$1
while [ $pagenum -gt 0 ]
do
    pagenum=$(expr $pagenum - 1)
    echo "/mnt/e/dl/13b48ab/cron200.sh: page number $pagenum" >> /mnt/e/dl/13b48ab/cronlog2.txt
    sleep 15; wget -qO- "https://archived.moe/gif/search/filter/text/page/$pagenum/" | grep ">View Same<" | perl -pE 's/<a href="https:\/\/archived.moe\/gif\/search\/image\/([^\/]+)\/" class="btnr parent">View Same</\n-----\1 >View Same</g' | perl -pE 's/-----([^\s]+) >View Same<.+parent">SauceNAO<.{21}([^"]+)/wget -nc \2 -O \/mnt\/e\/dl\/13b48ab\/test\/\1/g' | perl -pE 's/".+//g' | grep -v "<div" | sed "s/archived.moe\/gif\/redirect\//i.4cdn.org\/gif\//g" > /mnt/e/dl/13b48ab/chkcmd.txt
    if [[ $(cat /mnt/e/dl/13b48ab/chkcmd.txt | perl -pE "s/^wget -nc https:\/\/i\.4cdn\.org\/gif\/\d{16}\.\w\w\w\w? -O \/mnt\/e\/dl\/13b48ab\/test\/[\w-]{22}$//g" | xxd -ps - | sed "s/0a/0/g") =~ 0+ ]]; then cat /mnt/e/dl/13b48ab/chkcmd.txt | xargs -d "\n" sh -c 'for args do sh -c "$args"; done' _ >> /mnt/e/dl/13b48ab/cronlog1.txt 2>> /mnt/e/dl/13b48ab/cronlog2.txt; fi
done
