Autor |
Nachricht |
|
Titel: Wow. Der Shellmeister
Verfasst am: 18.07.2006, 15:01 Uhr
|
|
Anmeldung: 09. Apr 2005
Beiträge: 203
|
|
Ist natürlich schicker. basename kannte ich gar nicht ( is es e wunder? )
Danke nochmal. Vielleicht kann ich noch mit nem Python vs. Bash Benchmark auftrumpfen
später: nö. schneller gehts mit scrpiting kaum.
Ne Idee, warum jetzt die Leerzeichen im Dateinamen bei toolame durchlaufen? |
_________________ unsensibel, aber empfindlich
|
|
|
|
|
|
Titel: RE: liest ja jetzt eh keiner mehr
Verfasst am: 18.07.2006, 15:16 Uhr
|
|
Anmeldung: 17. Dez 2003
Beiträge: 16785
|
|
Nun deine Lösung geht über Zwischenfiles, die brauchen Platz, bringen aber nichts. Der Zeitaufwand sollte wohl ähnlich sein. |
|
|
|
|
|
|
Titel: Leerzeichen und ich schon wieder
Verfasst am: 21.07.2006, 08:25 Uhr
|
|
Anmeldung: 09. Apr 2005
Beiträge: 203
|
|
Mein Problem bleiben die Leerzeichen in Pfade und Dateinamen.
Warum Deine for-Schleifen funzen und meine nicht, kapier ich nicht. Habe mit find -print0 und xargs -0 wohl alles durch. Selbst wenn die Ausgabe von xargs -0 brav den ganzen Namen in "" ausgibt, bekommt zB rm immer die einzelnen Wörter. Das gleiche mit Backticks. Die Exapnsio *.suffix haut bei Dir ja hin. Wie kann ich aber mit ner Schleife Verzeichnisbäume mit Leerzeichen durchlaufen. Außer ls und find ist mir bisher nix eingefallen.
Muß ich vielleicht doch IFS mit " oder \n überschreiben?
Bleibt das dann für diese shell oder diesen Prozeß privat oder wird das global (i trau mi ned). Soifz |
_________________ unsensibel, aber empfindlich
|
|
|
|
|
|
Titel: RE: Leerzeichen und ich schon wieder
Verfasst am: 21.07.2006, 13:51 Uhr
|
|
Anmeldung: 09. Jan 2006
Beiträge: 1720
|
|
warum kanos zeile funzt ist doch klar. "*.og".
" != '' != ' ' das geht leider nicht. das müßte so " " heißen. '' ist ein NULL zeichen. nix nada.
'%20' geht wieder.
Kano löst es mit dem Stern for der erweiterung. Und Stern heißt alle Zeichen in der kette. |
|
|
|
|
|
|
Titel:
Verfasst am: 21.07.2006, 15:18 Uhr
|
|
Anmeldung: 09. Apr 2005
Beiträge: 203
|
|
@Schnorrer: Daß for x in *.ogg expandiert wird, war mir schon klar. Davon gehen aber die Leerzeichen in den Dateinamen nicht weg. In der Expansion werden die Leerzeichen aber weder escaped, noch werden die Ausgaben in "" gesetzt. Beispiel: for x in *; do echo $x; done gibt brav alle Dateien und Verzeichnisse zeilenweise aus. Jetzt kommts:
for x in *; do echo $x && ls; done findet bei ls die Namen mit den Leerzeichen nicht.
Vielleicht vergeht das Brett vor meinem Hirn in den nächsten 2 Wochen. Bin Jetzt erst mal im Urlaub.
Besorgt mir bis dahin das ultimative AHA-Erlebnis. (bittebitte) |
_________________ unsensibel, aber empfindlich
|
|
|
|
|
|
Titel:
Verfasst am: 21.07.2006, 18:26 Uhr
|
|
Anmeldung: 09. Jan 2006
Beiträge: 1720
|
|
ls hat schon immer ein Problem mit Leerzeichen gehabt.
for x in *;
do
echo $x && ls; ### gib nur etwas aus wenn die Expr == true ist. also kein LS, da echo $x ja nicht "ls" auspuckt.
### fahre ohne Ausgabe bei done fort.
done
for x in *;
do
echo $x,
ls;
done
das ist was du willst. |
|
|
|
|
|
|
Titel: @schnorrer
Verfasst am: 07.08.2006, 17:49 Uhr
|
|
Anmeldung: 09. Apr 2005
Beiträge: 203
|
|
1. Tag nach dem Urlaub
öhömm. Nit böse sein, aber ich glaube, daß keines von den beiden das tut, was Du glaubst:
Das erste macht nach jedem echo einfach ls. Der return von echo ist ja zumindest solange TRUE, solange echo was ausgeben kann.
Das zweite schreibt nach der echo-Ausgabe einfach 'ls'. Klar. Was auch sonst. in dem Ausdruck echo $x, ls wird eben das $x expandiert. Sonst nix.
BTW: ls ist eines der tools, das gerade keine Probleme mit Leerzeichen hat. |
_________________ unsensibel, aber empfindlich
|
|
|
|
|
|
Titel: RE: @schnorrer
Verfasst am: 07.08.2006, 17:58 Uhr
|
|
Anmeldung: 17. Dez 2003
Beiträge: 16785
|
|
Du solltest meinen code nochmals angucken, in deinem Beispiel vergisst du IMMER die "" um "$x". |
|
|
|
|
|
|
Titel: da brichsch zamm
Verfasst am: 08.08.2006, 00:50 Uhr
|
|
Anmeldung: 09. Apr 2005
Beiträge: 203
|
|
oder so.
ne Woche später:
WOW: for x in */*/* geht auch. Wahnsinn. Mächtig.
Äh: Wie tief geht denn das? Da wüßte ich gar nicht wonach ich googeln sollte. |
_________________ unsensibel, aber empfindlich
|
|
|
|
|
|