#!/bin/sh # Mein karolenderblatt-Gehilfe. Ungefaehr jedenfalls (ein paar Details # habe ich entfernt). d=$(date +%d) m=$(date +%m) case $d$m in 2803) echo '28.03.2013: Botrix zieht von der Uni nach quabla zu Hause um.' sleep 10 ;; esac case $m in 01) m2="($m[[:space:]]*[.-]+|januar)";; 02) m2="($m[[:space:]]*[.-]+|februar)";; 03) m2="($m[[:space:]]*[.-]+|m[aä]rz)";; 04) m2="($m[[:space:]]*[.-]+|april)";; 05) m2="($m[[:space:]]*[.-]+|mai)";; 06) m2="($m[[:space:]]*[.-]+|juni)";; 07) m2="($m[[:space:]]*[.-]+|juli)";; 08) m2="($m[[:space:]]*[.-]+|august)";; 09) m2="($m[[:space:]]*[.-]+|september)";; 10) m2="($m[[:space:]]*[.-]+|oktober)";; 11) m2="($m[[:space:]]*[.-]+|november)";; 12) m2="($m[[:space:]]*[.-]+|dezember)";; esac dre1="2[0-9]*[[:space:]]*[.-]+[[:space:]]*$m[[:space:]]*[.-]+[[:space:]]*$d" dre2="$d[[:space:]]*[.-]+[[:space:]]*$m2[[:space:]]*2[0-9]*" dre="$dre1|$dre2" last_is_file() { [ $# -gt 0 ] || return shift $(($# - 1)) test -f "$1" return } if ! last_is_file "$@"; then set -- "$@" chat-file fi # Prepare a tmpdir for the scrubbed chat file, because less(1) # performs better when reading from a real file rather than from # stdin. set -e TMPDIR=${TMPDIR:-/var/tmp} tmp=$TMPDIR/.karolenderblatt.$$ mkdir -- "$tmp" && trap "rm -r -- \"$tmp\"" 0 1 2 3 15 sed -e 's@"@"@g' \ -e 's@ @ @g' \ -e 's@<@<@g' \ -e 's@>@>@g' \ -e 's@ä@ä@g' \ -e 's@ö@ö@g' \ -e 's@ü@ü@g' \ -e 's@Ä@Ä@g' \ -e 's@Ö@Ö@g' \ -e 's@Ü@Ü@g' \ -e 's@ß@ß@g' \ -e 's@
$@@' "$@" \ > "$tmp/karolenderblatt" cd -- "$tmp" less -i -p "---[[:space:]]*$dre[[:space:]]*---" -- karolenderblatt