Hallo, wenn ich #!/usr/bin/bash for file in `find /home/ralph` do echo "$file" done ausführe, dann bekomme ich bei Dateinamen die (leider) ein Leerzeichen enthalten (z.B."/home/ralph/Mail/.Unsent Messages.summary") die folgenden Fehlermeldungen: find: /home/ralph/Mail/.Unsent: Datei oder Verz. nicht gefunden find: Messages.summary: Datei oder Verz. nicht gefunden Wie kann man dieses "Auftrennen" des Dateinamens in einer solchen Schleife vermeiden? Ralph (PS: Ich weiß daß man Leerzeichen in Dateinamen vermeiden sollte, aber die sind jetzt nun schon mal da.)
Hallo Ralph, * Am 05.02.2002 um 13:21 Uhr schrieb Ralph Müller:
wenn ich
#!/usr/bin/bash for file in `find /home/ralph` do echo "$file" done
ausführe, dann bekomme ich bei Dateinamen die (leider) ein Leerzeichen enthalten (z.B."/home/ralph/Mail/.Unsent Messages.summary") die folgenden Fehlermeldungen:
find: /home/ralph/Mail/.Unsent: Datei oder Verz. nicht gefunden find: Messages.summary: Datei oder Verz. nicht gefunden
Wie kann man dieses "Auftrennen" des Dateinamens in einer solchen Schleife vermeiden?
versuch's mal hiermit: for file in "`find /home/ralph`" Jürgen -- Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon) / Registered Linux-User #130804 http://counter.li.org \ \ Linux Stammtisch Bremerhaven http://linux.hs-bremerhaven.de /
Juergen Schwarting wrote:
* Am 05.02.2002 um 13:21 Uhr schrieb Ralph Müller:
wenn ich
#!/usr/bin/bash for file in `find /home/ralph` do echo "$file" done
ausführe, dann bekomme ich bei Dateinamen die (leider) ein Leerzeichen enthalten (z.B."/home/ralph/Mail/.Unsent Messages.summary") die folgenden Fehlermeldungen:
find: /home/ralph/Mail/.Unsent: Datei oder Verz. nicht gefunden find: Messages.summary: Datei oder Verz. nicht gefunden
Wie kann man dieses "Auftrennen" des Dateinamens in einer solchen Schleife vermeiden?
versuch's mal hiermit:
for file in "`find /home/ralph`"
Hoppla, ich muß meine soeben abgesandte Mail ("Vorschläge klappen nicht") korrigieren. Die Lösung von Jürgen funktioniert _doch_. (Da war noch ein Schreibfehler in meinem Skript. Pardon.) Ralph
On 5 Feb 2002 at 13:21, Ralph Müller wrote:
Hallo,
wenn ich
#!/usr/bin/bash for file in `find /home/ralph` do echo "$file" done
ausführe, dann bekomme ich bei Dateinamen die (leider) ein Leerzeichen enthalten (z.B."/home/ralph/Mail/.Unsent Messages.summary") die folgenden Fehlermeldungen:
find: /home/ralph/Mail/.Unsent: Datei oder Verz. nicht gefunden find: Messages.summary: Datei oder Verz. nicht gefunden
Kann ich nicht mit echo nachvollziehen, aber das Prinzip ist klar
Wie kann man dieses "Auftrennen" des Dateinamens in einer solchen Schleife vermeiden?
z.B. --------------- find /home/ralph|while read file do echo $file done --------------- oder find /home/ralph -exec echo {} \; oder .... Denk dir weitere aus. Andreas
Moin Ralph, * Ralph Müller schrieb am 05 Feb 2002:
wenn ich
#!/usr/bin/bash for file in `find /home/ralph` do echo "$file" done
ausführe, dann bekomme ich bei Dateinamen die (leider) ein Leerzeichen enthalten (z.B."/home/ralph/Mail/.Unsent Messages.summary") die folgenden Fehlermeldungen:
find: /home/ralph/Mail/.Unsent: Datei oder Verz. nicht gefunden find: Messages.summary: Datei oder Verz. nicht gefunden
Wie kann man dieses "Auftrennen" des Dateinamens in einer solchen Schleife vermeiden?
Ich weiß nicht, was genau du dann machen willst.. vielleicht hilft dir ja find /home/ralph -print0 | xargs -0 ... Gruß, Sebastian -- Do not meddle in the affairs of Wizards, for they are subtle and quick to anger. Sebastian Helms - http://www.helms.sh - mailto:mail@helms.sh (PGP welcome) SuSE-Linux-Mailinglisten-FAQ: http://www.helms.sh/faq/
participants (4)
-
Andreas Kyek
-
Juergen Schwarting
-
Ralph Müller
-
Sebastian Helms