Re: Bashscripting
Andreas Pakulat <apaku@gmx.de> wrote:
> On 07.Apr 2005 - 09:26:23, Joerg Sommer wrote:
>> Andreas Pakulat <apaku@gmx.de> wrote:
>> > Mit dem Tipp und ein wenig probieren hab ich jetzt:
>> >
>> > mailboxes = `find $HOME/.Mail \
>> > -type d \
>> > -name "cur" \
>> > -maxdepth 2 \
>> > -printf "=%P\n" \
>> > | sed -e "s&/cur$&&" \
>> > -e "s/ /\\\ /g" \
>> > -e 's&^\(.*\)$&"\1"&' \
>>
>> Ich würde das mit dem ersten -e zusammenfassen:
>> -e 's&^\(.*\)/cur$&"\1"&'
>
> Ich nicht - so ist es IMHO einfacher zu lesen und einen anderen
> Vorteil hat es wohl nicht...
Aus zwei Schritte mach einen.
>> Oder schreib das " am Anfang mit in den printf von find und ersetze /cur
>> nur durch ".
>
> Hmm, so gehts nicht
>
> -printf "\"=%P\n\""
Ich meinte -printf '"=%P\n' ... | sed -e 's&/cur$&"&' ...
> und auch nicht mit '' um den Ausdruck. Die "" erscheinen immer am
> Anfang der Zeile.
Da sollen sie doch auch hin.
>> > -e "/$(date +.%Y-%m)/ p" \
>> > -e '/.[0-9]\{4\}-[0-9]\{2\}/ ! p' \
>>
>> Und könntest du diese beiden nicht auch gleich im find platzieren?
>> -path "$(date +.%Y-%m)" -o -n -path "?[0-9][0-9][0-9][0-9]-[0-9][0-9]"
>
> Hmm, also das erste geht nicht - ich schätze Mal die Subshell wird
> nicht ausgeführt. Wobei ich auch noch ein * vor und hinter den "-not"
> Pfad hängen musste, sonst nimmer er alle Einträge.
Das stimmt bei -path müssen die Sterne dazu.
> Hmm, ich glaube da bleibe ich lieber bei der sed-Lösung - zumal das
> alles keinerlei Vorteile bringt.
sed bekommt weniger Daten vorgeworfen, die es Filtern bzw. verändern
muss.
>> > -n \
>> > | sort | xargs echo`
>>
>> Wieso muss alles nochmal durch xargs echo? Quote doch nicht die Strings
>> und lass xargs weg. Ich glaube, du musst dann noch das ganze `` in ""
>> setzen, damit die Shell dir nicht die Strings an den Leerzeichen zerlegt.
>
> Weil ich ansonsten nur den 1. Ordner bekomme, denn da sind
> Zeilenumbrüche in der Liste. Und weder "" aussen um die Backticks noch
> direkt vor ihnen hilft da und alles andere wird zu kompliziert....
Warum hast du nach einer Optimierung gefragt, wenn du eine schön lesbare
Version willst?
Jörg.
--
Computer Science is no more about Computers than astronomy is about
telescopes.
-- Edsger Wybe Dijkstra
Reply to: