view bin/pastelog @ 11113:aa8e4791536e

<oerjan> learn print_args_or_input Is a utility command that makes it easy to create a shell script that can be used either as a pipe or directly as a HackEgo command. Use as print_args_or_input "$@" | yourShellCode . See also shebang_args_or_input.
author HackBot
date Sat, 22 Jul 2017 00:45:19 +0000
parents 56dcce63901b
children
line wrap: on
line source

#!/bin/bash
cd /var/irclogs/_esoteric

pasterandom() {
    if [ "$1" -gt 150 ]; then
        echo "No."
        exit
    fi
    for i in $(seq "$1"); do
        file=$(shuf -en 1 ????-??-??.txt)
        echo "$file:$(shuf -n 1 $file)"
    done | paste
}

if [ "$1" ]; then
    if expr "$1" + 0 >/dev/null 2>&1; then
        pasterandom "$1"
    else
        lines=$(timeout 25 grep -P -i -- "$1" ????-??-??.txt | head -n 301)
        {
            echo "$lines" | head -n 300
            [ $(echo "$lines" | wc -l) -eq 301 ] && echo "[too many lines; stopping]"
        } | paste
    fi
else
    pasterandom 40
fi