Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Platzhalter in der Konsole bei Namen mit Leerzeichen

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
bunter fisch
Member
Member
Beiträge: 93
Registriert: 12. Sep 2017, 10:25

Platzhalter in der Konsole bei Namen mit Leerzeichen

Beitrag von bunter fisch » 31. Dez 2018, 19:13

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?

Werbung:
abgdf
Guru
Guru
Beiträge: 3145
Registriert: 13. Apr 2004, 21:15

Re: Platzhalter in der Konsole bei Namen mit Leerzeichen

Beitrag von abgdf » 1. Jan 2019, 02:42

Mach' doch bitte mal ein Beispiel.

Benutzeravatar
HPF-84E
Newbie
Newbie
Beiträge: 21
Registriert: 8. Dez 2018, 20:45

Re: Platzhalter in der Konsole bei Namen mit Leerzeichen

Beitrag von HPF-84E » 1. Jan 2019, 13:08

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

abgdf
Guru
Guru
Beiträge: 3145
Registriert: 13. Apr 2004, 21:15

Re: Platzhalter in der Konsole bei Namen mit Leerzeichen

Beitrag von abgdf » 1. Jan 2019, 13:51

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 ...

bunter fisch
Member
Member
Beiträge: 93
Registriert: 12. Sep 2017, 10:25

Re: Platzhalter in der Konsole bei Namen mit Leerzeichen

Beitrag von bunter fisch » 1. Jan 2019, 18:18

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).

josef-wien
Ultimate Guru
Ultimate Guru
Beiträge: 5182
Registriert: 23. Sep 2008, 17:09

Re: Platzhalter in der Konsole bei Namen mit Leerzeichen

Beitrag von josef-wien » 1. Jan 2019, 18:35

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.

Benutzeravatar
Geier0815
Administrator
Administrator
Beiträge: 4306
Registriert: 14. Jun 2004, 09:12

Re: Platzhalter in der Konsole bei Namen mit Leerzeichen

Beitrag von Geier0815 » 3. Jan 2019, 10:34

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.
Wenn Windows die Lösung ist...
kann ich dann bitte das Problem zurück haben?

Antworten