#!/bin/bash cat_header() { cat <<-EOT ====== Dummy-Titel ====== ---- ===== Links ===== ---- * {{$namespace:$n, Stand `date +'%d.%m.%Y'`}} ===== Backlinks ===== ---- {{backlinks>.}} ===== Annotierte Version ===== ---- EOT } strip() { sed "s/^ *//; s/ *$//" | grep . } field() { grep "| *$2 *\(|\|$\)" $files | grep "pdfwiki\|binary" | cut -d\| -f$1 | strip } cmd_name_extern_2_intern() { field 3 "$1" } cmd_name_intern_2_extern() { field 2 "$1" } cmd_uploads() { cat $files | grep "pdfwiki\|binary" | cut -d\| -f3 | strip } cmd_milk_dirs() { local dirs="$@" for d in $dirs; do ls $d/* 2>/dev/null | while read f; do l=`basename "$f"` n=`cmd_name_extern_2_intern "$l"` [ "$n" ] || { echo "ignoring unknown file \"$l\"" continue } [ -e "$n" ] && { echo "ignoring existing file \"$l\"" continue } type=$(field 1 "$l") echo type=$type case $type in pdfwiki) t=`echo $n | sed 's/\.[^.]*$//'` txt="$t.txt" [ -e "$txt" ] && { echo "ignoring existing file \"$txt\"" continue } cp "$f" "tmp-$n" pdftotext "tmp-$n" pdfimages -png -j tmp-$n $n rm -f $n-*.pnm cat_header "$l" "$n" > $txt.tmp cat tmp-$txt >> $txt.tmp mv $txt.tmp $txt mv tmp-$n $n rm -f tmp-$txt ;; binary) cp "$f" "$n" ;; *) echo "ignoring file with unknown extension: \"$f\"" ;; esac done done } # ------------------------------------------------ here we go files=files.txt namespace=files:doc:extern eval set -- `getopt -o hn: -l namespace: -- "$@"` while [ "$1" != -- ]; do case $1 in -n|--namespace) namespace="$2" shift ;; -h) usage 0;; *) usage 1;; esac shift done shift cmd="${1/-/_}" shift eval cmd_$cmd "$@"