#! /bin/sh -e cd $HOME/jb find . -type f -name '?-??. *' -print | sed 's:/[^/]*$::' | uniq | while read d; do (cd "$d" p=$(echo "$d" | sed 's:^.*/\([^/]*\)/\([^/]*\)$:\1 - \2.m3u:') updatep=nil for f in ?-??.*; do if [ ! "$p" -nt "$f" ]; then updatep=t; break; fi done case $updatep in nil) continue ;; esac { echo "#EXTM3U" for f in ?-??.*; do m3u-extinf "$f"; echo "$f"; done } >"$p.new" rm -f *.m3u mv "$p".new "$p" echo "$d/$p") done