view paste/paste.6763 @ 6941:261be2d51dea

<oerjan> learn Postorder is the same as Polish notation, since Post was Polish. Not to be confused with reverse Polish notation, which puts operations last.
author HackBot
date Wed, 24 Feb 2016 05:00:46 +0000
parents 84da026b16a5
children
line wrap: on
line source

#!/bin/sh
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=$(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