Andreas Pakulat <[EMAIL PROTECTED]> writes:

> Hi,
>
> bin ja nun nicht sooo der Bash-Crack, deswegen erlaube ich mal hier
> nach Hilfe zu fragen. Folgendes Konstrukt generiert mir meine
> Mailbox-Liste f�r Mutt und ich w�rd das gerne beschleunigen. Das
> Problem d�rfte die while-Schleife sein (mutt ist schneller beim
> starten wenn ich das rausnehme):
>
>
> mailboxes =   `find $HOME/.Mail \
>                       -type d \
>                       -name "cur" \
>                       -maxdepth 2 \
>                       -printf "=%P\n" \
>               | sed -e "s&/cur$&&" \
>                       -e "s/ /\\\ /g" \
>                       -e 's&^\(.*\)$&"\1"&' \
>               | while read f; do \
>                       if [[ $( echo $f | egrep -v ".[0-9]{4}-[0-9]{2}") || \
>                       $(echo $f | egrep $(date +.%Y-%m)) ]] ; then \
>                               echo $f; \
>                       fi ; \
>                       done  \
>               | sort | xargs echo`
>
> Ziel der Schleife ist, nur die "statischen" Maildirs und die
> dynamischen des aktuellen Monats stehen zu lassen (also f�r April alle
> <maildir>.Jahr-Monat auszusortieren wo nicht 2005-04 steht)

OK, das klab�ster ich nicht auseinander. Nur soviel: deine egrep regexps
lassen sich in sed auch entweder verwenden oder entsprechend �bersetzen.
Zusammen mit der Tatsache, da� 'sed -n' nicht mehr alle Zeilen printet
sondern nur die bei denen du ein 'p' Kommando mit einer Bedingung (match)
deiner Wahl angibst, sollte sich der ganze 'while read' Kram in sed
reinziehen lassen. Vermutlich geht es sogar noch einfacher, aber da ich
kein mutt/Maildir verwende habe ich kein Bild ...

Gruss, Bruno.

Antwort per Email an