Hi,
ich möchte mir alle .bar Dateien aus einem Unterverzeichnis anzeigen lassen. Die Ausgabe muss auf einer Zeile sein, also
foo.bar foobarfoo.bar ...
nicht
foo.bar foobarfoo.bar ...
Ein ls --format=vertical *.bar hat das nötige Format, allerdings gibts einen Fehler wenn keine .bar-Datei existiert.
Bekommt man das irgendwie auch mit find hin ?
Danke, Stephan
On Friday 24 November 2000 23:08, Stephan Goetter wrote:
Hi,
ich möchte mir alle .bar Dateien aus einem Unterverzeichnis anzeigen lassen. Die Ausgabe muss auf einer Zeile sein, also
foo.bar foobarfoo.bar ...
nicht
foo.bar foobarfoo.bar ....
Ein ls --format=vertical *.bar hat das nötige Format, allerdings gibts einen Fehler wenn keine .bar-Datei existiert.
Bekommt man das irgendwie auch mit find hin ?
echo `find . -name '*.bar'`
für die Shell ist \n nur ein normaler Trenner zwischen Parametern, echo bekommt also nur die Namen zu sehen und macht Leerzeichen dazwischen.
Kleiner Schönheitsfehler: wenn Leerzeichen in den Namen sind werden die ebenfalls als Trenner betrachtet und die Dateinamen damit "zerrissen". Lösung:
find . -name '*.bar' -exec echo '"{}" ' ';'
Hat wieder den Fehler, dass Anführungszeichen die Shell danach durcheinander bringen werden. Letzte Lösung wäre irgendwas mit sed im exec-Statement... aber damit kenn ich mich nicht aus.
Konrad
On Saturday 25 November 2000 11:14, Konrad Rosenbaum wrote:
On Friday 24 November 2000 23:08, Stephan Goetter wrote: find . -name '*.bar' -exec echo '"{}" ' ';'
UPS, da hab ich doch das -n vergessen: find . -name '*.bar' -exec echo -n '"{}" ' ';'
Konrad
On Sat, Nov 25, 2000 at 11:14:24AM +0100, Konrad Rosenbaum wrote:
On Friday 24 November 2000 23:08, Stephan Goetter wrote:
Bekommt man das irgendwie auch mit find hin ?
echo `find . -name '*.bar'`
für die Shell ist \n nur ein normaler Trenner zwischen Parametern, echo bekommt also nur die Namen zu sehen und macht Leerzeichen dazwischen.
Dafür gibt's find -print0, dann sind '\0' zwischen den Namen.
Best regards from Dresden/Germany Viele Gruesse aus Dresden Heiko Schlittermann
On Fri, Nov 24, 2000 at 11:08:20PM +0100, Stephan Goetter wrote:
Hi,
ich möchte mir alle .bar Dateien aus einem Unterverzeichnis anzeigen lassen. Die Ausgabe muss auf einer Zeile sein, also
foo.bar foobarfoo.bar ...
nicht
foo.bar foobarfoo.bar ...
find . -name "*.bar" -exec /bin/echo -n {}" " ;
Reinhard
On Fri, Nov 24, 2000 at 11:08:20PM +0100, Stephan Goetter wrote:
Hi,
Ein ls --format=vertical *.bar hat das nötige Format, allerdings gibts einen Fehler wenn keine .bar-Datei existiert.
Bekommt man das irgendwie auch mit find hin ?
ls --format=vertical *.bar 2>/dev/null || true
Best regards from Dresden/Germany Viele Gruesse aus Dresden Heiko Schlittermann
Am Sam, 25 Nov 2000 schrieb Heiko Schlittermann:
On Fri, Nov 24, 2000 at 11:08:20PM +0100, Stephan Goetter wrote:
Hi,
Ein ls --format=vertical *.bar hat das nötige Format, allerdings gibts einen Fehler wenn keine .bar-Datei existiert.
Bekommt man das irgendwie auch mit find hin ?
ls --format=vertical *.bar 2>/dev/null || true
Genau das hab ich jetzt gemacht...das dumme war nur, auf dem Zielsystem (fängt mit W an) gibts kein /dev/null :)
Bye, Stephan
On Sat, Nov 25, 2000 at 12:00:46PM +0100, Stephan Goetter wrote:
ls --format=vertical *.bar 2>/dev/null || true
Genau das hab ich jetzt gemacht...das dumme war nur, auf dem Zielsystem (fängt mit W an) gibts kein /dev/null :)
aber "nul"
Reinhard
Am Sam, 25 Nov 2000 schrieb Reinhard Foerster:
On Sat, Nov 25, 2000 at 12:00:46PM +0100, Stephan Goetter wrote:
ls --format=vertical *.bar 2>/dev/null || true
Genau das hab ich jetzt gemacht...das dumme war nur, auf dem Zielsystem (fängt mit W an) gibts kein /dev/null :)
aber "nul"
Die Sache soll doch portabel sein :-)
Bye, Stephan
On Sat, Nov 25, 2000 at 12:00:46PM +0100, Stephan Goetter wrote:
Am Sam, 25 Nov 2000 schrieb Heiko Schlittermann:
On Fri, Nov 24, 2000 at 11:08:20PM +0100, Stephan Goetter wrote:
Hi,
Ein ls --format=vertical *.bar hat das nötige Format, allerdings gibts einen Fehler wenn keine .bar-Datei existiert.
Bekommt man das irgendwie auch mit find hin ?
ls --format=vertical *.bar 2>/dev/null || true
Genau das hab ich jetzt gemacht...das dumme war nur, auf dem Zielsystem (fängt mit W an) gibts kein /dev/null :)
dann leitest du das eben in eine temporäre Datei um und löschst diese anschließend. Müßte so klappen:
ls --format=vertical *.bar 2>xxx_temp || rm -f xxx_temp
oder:
ls --format=vertical *.bar 2>xxx_temp || true if [ -f xxx_temp ] rm -f xxx_temp fi
(PS: Haut das hin, ich bin nicht sooo der bash-Profi)
Ulf
Am Freitag, dem 24. November 2000 um 23:08:20, schrieb Stephan Goetter:
Ein ls --format=vertical *.bar hat das noetige Format, allerdings gibts einen Fehler wenn keine .bar-Datei existiert.
Wie waere es mit
ls --format=vertical *.bar 2>/dev/null
?
Torsten
lug-dd@mailman.schlittermann.de