• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Ausgabe aller Ordner per ls ohne "/"

myer

Newbie
Hallo,

ich benötige eine einfache Ausgabe aller Ordner eines Ordners per ls und nutze dazu

Code:
ls -d */

Das geht soweit recht gut, nur stören die "/" hinter den Ordnernamen. Rufe ich nur

Code:
ls -d *

auf werden auch Dateien mit angezeigt - dachte -d ruft nur Ordner auf?

Wie bekomm ich die weg? Die Liste ohne jegliche Zusatzinfos ist genau das was ich will. Mehr Infos wäre ein Rückschritt. :D

myer
 

marce

Guru
oder einfach mal
Code:
man find
konsultieren.

Abenteuerliche Pipe-Konstrukte mit cut, sed, dirname und so gehen aber natürlich auch.
 

Pitti 1

Hacker
Genau. Ein
Code:
  find * -maxdepth 0 -type d
funktioniert natürlich auch.

Ansonsten einfach mal die "Suchmaschine Deines Vertrauens" befragen; ich bin mir sicher, dass dort noch eine ganze Menge spannender Variationen ausgespuckt werden... ;)
 
OP
M

myer

Newbie
Pitti 1 schrieb:
Hier wäre eine Möglichkeit:
Code:
ls -d */ | sed 's/\/$//'

Wenn ich das für einen anderen Ordner ausführe, z. B. so

Code:
ls -d */ "/media/sda1/partition/erster ordner" | sed 's/\/$//'

zeigt er mir die Ausgabe des aktuellen, nicht des angegebenen Ordners an. Ich habe hier bewusst ein Leerzeichen mitgetestet, weil man das nicht immer ausschließen kann.

edit
Ich leite die Ausgabe in eine Datei weiter und rufe das ganze per Skript auf. Hab das jetzt so gelöst, dass im Skript vorher einfach per cd ins Verzeichnis wechsel. Vielleicht nicht perfekt, geht aber. Thx.
 

Pitti 1

Hacker
Dann nimm doch zuerst den Verzeichniswechsel vor und liste danach das Ergebnis auf. Ein Beispiel:
Code:
*** Benutzer: kobold *** 
/home/kobold => ls
Bilder          Dokumente  Geheim  Schreibtisch   Testordner  Videos    WEBDAV
Datensicherung  Downloads  Musik   StreamRipStar  tmp         Vorlagen
*** Benutzer: kobold *** 
/home/kobold => cd /proc/1047 
*** Benutzer: kobold *** 
/proc/1047 => ls
ls: Lesen der symbolischen Verknüpfung cwd nicht möglich: Keine Berechtigung
ls: Lesen der symbolischen Verknüpfung root nicht möglich: Keine Berechtigung
ls: Lesen der symbolischen Verknüpfung exe nicht möglich: Keine Berechtigung
attr       clear_refs       cpuset   fd       limits    mountinfo   ns         oom_score_adj  sched      stack   syscall
autogroup  cmdline          cwd      fdinfo   loginuid  mounts      numa_maps  pagemap        schedstat  stat    task
auxv       comm             environ  io       maps      mountstats  oom_adj    personality    sessionid  statm   wchan
cgroup     coredump_filter  exe      latency  mem       net         oom_score  root           smaps      status
*** Benutzer: kobold *** 
/proc/1047 => cd ~/
*** Benutzer: kobold *** 
/home/kobold => ls
Bilder          Dokumente  Geheim  Schreibtisch   Testordner  Videos    WEBDAV
Datensicherung  Downloads  Musik   StreamRipStar  tmp         Vorlagen
*** Benutzer: kobold *** 
/home/kobold => cd /proc/1047; ls -d */ | sed 's/\/$//'
attr
fd
fdinfo
net
ns
task
*** Benutzer: kobold *** 
/proc/1047 =>

edit
Ich leite die Ausgabe in eine Datei weiter und rufe das ganze per Skript auf. Hab das jetzt so gelöst, dass im Skript vorher einfach per cd ins Verzeichnis wechsel. Vielleicht nicht perfekt, geht aber. Thx.

Edit: Die Ergänzung kam offenbar zeitgleich mit meinem Beitrag; allerdings scheint es ja zu funktionieren.
 
Oben