Seite 1 von 1

Platzhalter in der Konsole bei Namen mit Leerzeichen

Verfasst: 31. Dez 2018, 19:13
von bunter fisch
Hi,

eine Frage kurz vor Jahresende, die ich mir schon öfters gestellt habe. Wenn ich versuche im Terminal (xfce4-terminal) statt den ganzen Datei- oder Ordnernamen einen Platzhalter (*) anzugeben geht das bei Namen mit Leerzeichen nur manchmal. Es kommt dann die Meldung von wegen "zu viele Argumente". Manchmal ließ sich das mit Zweideutigkeit begründen, z. B. wenn ich "neu*" eingeben und es gibt einen Ordner "neu 1" und "neu 2". Das trifft aber nicht auf alle Fälle zu. Es geht auch nicht wenn ich das ganze mit Quotes versehe.

Gibt es hier eine gewisse Logik die ich nicht verstehe?

Re: Platzhalter in der Konsole bei Namen mit Leerzeichen

Verfasst: 1. Jan 2019, 02:42
von abgdf
Mach' doch bitte mal ein Beispiel.

Re: Platzhalter in der Konsole bei Namen mit Leerzeichen

Verfasst: 1. Jan 2019, 13:08
von HPF-84E
Hi,

also ich habe bei mir zwei neue Ordner unter Home erstellt: „Ordner 1" und „Ordner 2".
Diese möchte ich jetzt suchen. Also wie in deinem Beispiel.
Mit find:

Code: Alles auswählen

find ~/ -name "Ordner*"
/home/hpf/Ordner 1
/home/hpf/Ordner 2
Bedeutet: Finde in Home den Namen Ordner*

Mit apropos (allerdings ohne Pfadangabe) im Ordner in dem man sich befindet:

Code: Alles auswählen

apropos -l Ordner*
Ordner 1: nichts passendes.
Ordner 2: nichts passendes.
Mit locate:

Code: Alles auswählen

locate Ordner*
/home/hpf/Ordner 1
/home/hpf/Ordner 2
Um locate nutzen zu können muss mlocate installiert werden.
Mit Rootrechten:

Code: Alles auswählen

zypper in mlocate

Code: Alles auswählen

updatedb
Wie du siehst wird eigentlich alles gefunden. Mit locate kann die Liste schon ziemlich lang werden je nach dem wie oft der Begriff vorkommt und wo man sucht. Mit find kann man alles schön genau definieren.


HPF-84E

Re: Platzhalter in der Konsole bei Namen mit Leerzeichen

Verfasst: 1. Jan 2019, 13:51
von abgdf
HPF-84E hat geschrieben:
1. Jan 2019, 13:08
also ich habe bei mir zwei neue Ordner unter Home erstellt: „Ordner 1" und „Ordner 2".
Diese möchte ich jetzt suchen. Also wie in deinem Beispiel.
Ich glaub' nicht, daß er das meint ...

Re: Platzhalter in der Konsole bei Namen mit Leerzeichen

Verfasst: 1. Jan 2019, 18:18
von bunter fisch
Ich meinte Ordner wechseln mit 'cd'.

Ich hab grad kein Beispiel, ich werde aber eines posten wenn das Problem wieder mal auftritt. Vielleicht war das auch nur auf meinem Raspberry Pi mit Debian statt Ubuntu (vielleicht gibt es da unterschiedliche Settings).

Re: Platzhalter in der Konsole bei Namen mit Leerzeichen

Verfasst: 1. Jan 2019, 18:35
von josef-wien
Bei cd muß der Verzeichnisname eindeutig sein. Den Stern löst die bash auf und vervollständigt den Befehl, bevor dieser ausgeführt wird. Ein cd mit mehr als einem Verzeichnisnamen führt zwangläufig zu einer Fehlermeldung. Wenn Du Anführungszeichen verwendest, gibt es keine Platzhalter, dann ist der Stern ein einstelliger Namensteil.

Re: Platzhalter in der Konsole bei Namen mit Leerzeichen

Verfasst: 3. Jan 2019, 10:34
von Geier0815
Für mich klingt die Frage danach als wäre dir die Tab-Vervollständigung der bash nicht geläufig. Beispiel: Du willst mit cd ein Verzeichnis namens Ordner wechseln. Statt deinem geistigen Konstrukt "cd O*" gib einfach "cd O<TAB>" ein. Der Name wird vervollständigt und Du brauchst nur noch <ENTER> drücken. Wenn es weitere Verzeichnisse gibt die mit O anfangen mußt Du soviele Zeichen eingeben bis es eindeutig wird. Wenn Du ein zweites Mal <TAB> drückst, werden dir die möglichen Verzeichnissnamen angezeigt. Je nach weiteren Verzeichnissen wird dir aber auch nur ein Teil des Namens erweitert, nämlich wenn die Namen gleich anfangen bis zur Unterscheidung.