Re: Dateinamen kürzen
On 30.06.06 16:29:46, Frank Terbeck wrote:
> Andreas Pakulat <apaku@gmx.de>:
> > On 30.06.06 01:15:54, Frank Terbeck wrote:
> > > Andreas Pakulat <apaku@gmx.de>:
> > > [...]
> > > > Noch "besser" als for i in *.done oder for i in $(ls *.done) ist
> > > >
> > > > ls *.done | while read f ; do ... ; done
> > > >
> > > > gerade wenns sehr viele Dateien sind, denn dann ist die Argumentliste zu
> > > > lang und man landet auf der Nase...
> > >
> > > Also, an dieser Stelle kann das überhaupt nicht besser funktionieren
> > > als *.done, weil du die Dateiliste so genauso gut komplett an ls
> > > übergibts.
> >
> > Ist ja gut :-) War ein kleiner Schnellschuss, meistens mache ich eher
> > sowas:
> >
> > ls | grep "done$" | while read f...
>
> Das ist ganz einfach nicht nötig.
> Unter anderem sollte man sich sicher sein, das ls nicht als Alias
> expandiert und dann Optionen wie '--color=always' oder '-F' verwendet.
--color=auto hatte ich, grad mal rausgenommen.
> > > Im übrigen sollte jede Shell mit sehr langen Listen in for Schleifen
> > > klarkommen.
> >
> > Also die Bash hier kommt mit 3700 Mails im monatl. d-u-g Ordner nicht
> > zurecht wenn ich alle auflisten lasse (73 Zeichen pro Zeile)
>
> Da würde mich aber interessieren, welches Kommando du da anwendest.
ls,
andreas@morpheus:~/.Mail/debian-user-german.2006-05/cur>alias ls=ls
andreas@morpheus:~/.Mail/debian-user-german.2006-05/cur>which ls
/bin/ls
andreas@morpheus:~/.Mail/debian-user-german.2006-05/cur>/bin/ls *morpheus*
bash: /bin/ls: Die Argumentliste ist zu lang
> Denn bei shellinternen Kommandos ist die Menge der Argumente lediglich
> durch den zur Verfügung stehenden Speicher begrenzt.
Ich benutze kein bash-internes ls. Warum weiss ich nicht, ich hab
diesbzgl. nichts verstellt.
> Ich habe gerade mal eine bash gestartet und eine for Schleife mit vier
> Millionen Argumenten gestartet:
>
> for i in $(seq 1 4000000) ; do echo $i ; done
for geht hier auch wunderbar.
Andreas
--
You will be the victim of a bizarre joke.
Reply to: