[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: