Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Platzhalter bei ls und Pfaden mit Leerzeichen

  1. #1
    Registrierter Benutzer
    Registriert seit
    Apr 2014
    Beiträge
    69

    Platzhalter bei ls und Pfaden mit Leerzeichen

    Hallo,

    ich hab ehier folgendes Problem, dass ich nicht ganz verstehe. Ich rufe den Inhalt eines Ordner über ls auf, z. B. 'ls -h /pfad/zum/ordner' und erhalte alle Dateien. Oder ich filtere nach bestimmten Dateien mit 'ls -h /pfad/zum/ordner/*.pdf'. Ich habe aber auch einen Ordner mit Leerzeichen (wobei ich k.A. habe ob das der Grund ist), bei dem das nicht geht. Rufe ich 'ls -h "/pfad/zum/ordner/leer zeichen"' auf, zeigt er mit alle Dateien an- Gebe ich aber 'ls -h /pfad/zum/ordner/leer zeichen/*.pdf"' ein, kommt die Meldung "No such file or directory". Gleich epassiert wenn ich *.pdf durch *.* ersetze.

    Kann mir das einer erklären? Das ganze passiert auf einem Raspbain.

    Alter Schwede

  2. #2
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.062
    das Geheimnis dürfte im Quoting und der Art und Weise liegen, wie und wann Wildcards durch die verwendete Shell expanidert/ausgewertet werden und wann als "eigenständiges Zeichen" interpretiert werden.
    Ich bin root - ich darf das.

  3. #3
    Registrierter Benutzer
    Registriert seit
    Apr 2014
    Beiträge
    69
    Kann dir nicht folgen.

  4. #4
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.819
    Davon ab dürfte es gehen, wenn du es so machst:
    Code:
    ls -h /pfad/zum/ordner\ mit\ leer\ zeichen/*.pdf
    Was denke ich auch geht
    Code:
    ls -h "/pfad/zum/ordner mit leer zeichen/"*.pdf
    Zum anderen siehe hier und hier steht warum es nicht klappt:
    Using double quotes the literal value of all characters enclosed is preserved, except for the dollar sign, the backticks (backward single quotes, ``) and the backslash.
    Geändert von nopes (04.06.14 um 22:29 Uhr)
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

  5. #5
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.062
    Vermutung - kann's gerade nicht nachvollziehen, zu faul und kein Linux direkt zur Hand - zudem fehlt die konkrete Shell, die Du verwendest und deren Konfiguration, aber:

    ls /da/ist/was/ -> ls von /da/ist/was/ - nix zu tun für die Shell.
    ls /da/ist/was/*.pdf -> wird expandiert zu einer Liste von Dateien, die dann ls anzeigt - aus *.pdf wird also 1.pdf 2.pdf 3.pdf, ... - solange es pdf-Dateien gibt, alles in Ordnung.
    ls "/da/ist/was/*.pdf" -> Dank Quoting wird der *.pdf nicht auswertet sondern so genommen, wie es da steht. Und da liegt vermutlich keine *.pdf-Datei.
    Ich bin root - ich darf das.

  6. #6
    Registrierter Benutzer
    Registriert seit
    Apr 2014
    Beiträge
    69
    Code:
    ls -h "/pfad/zum/ordner mit leer zeichen/"*.pdf
    So ging sund ich denke das ist auch für mich der nachvollziehbarere Weg.

    @ marce

    Danke für die Erläuterung. So gesehen hast du natürlich recht, das hab ich so nicht realisiert.

Ähnliche Themen

  1. Leerzeichen in Kerry-Suchergebnissen
    Von ortenau-sbahner im Forum Anwendungen Allgemein, Software
    Antworten: 0
    Letzter Beitrag: 20.10.06, 07:38
  2. leerzeichen mit Tastenkombination erzeugen?
    Von claudius im Forum Linux Allgemein
    Antworten: 6
    Letzter Beitrag: 30.01.06, 14:13
  3. VSFTP und Leerzeichen
    Von BenniG. im Forum Linux als Server
    Antworten: 1
    Letzter Beitrag: 23.05.04, 15:00
  4. Problem mit Leerzeichen bei Nautilus
    Von dust123 im Forum Windowmanager
    Antworten: 1
    Letzter Beitrag: 06.07.03, 11:24
  5. Mit Sed Leerzeichen in "\ " umwandeln
    Von Menetekel im Forum Linux Allgemein
    Antworten: 4
    Letzter Beitrag: 17.05.03, 19:17

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •