ls -d werkt niet goed?

Pagina: 1
Acties:

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
ik wil graag alleen directories weergeven en dat moet met ls -d volgens de help(bash).
maar ik krijg hier helemaal geen directories mee te zien behalve de dir waar ik in zit.

waarschijnlijk zie ik iets heel doms over het hoofd maar wat.

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • Exirion
  • Registratie: Februari 2000
  • Laatst online: 22:03

Exirion

Gadgetfetisjist

Dit moet werken:
code:
1
ls -F | grep "/"

Onder Solaris tenminste wel :)

"Logica brengt je van A naar B, verbeelding brengt je overal." - Albert Einstein


Verwijderd

Volgens mij moet

ls -d .*

ook werken.

  • jeroen|IA
  • Registratie: Juni 1999
  • Laatst online: 26-05-2025
ls -l | grep '^d' ook.

ls -d .* werkt trouwens niet. bij filename expansion staat . niet voor any character zoals bij regular expressions maar gewoon voor een letterlijke punt.

  • Onno
  • Registratie: Juni 1999
  • Niet online
Op zondag 08 juli 2001 13:21 schreef wVm het volgende:
Volgens mij moet

ls -d .*

ook werken.
Maar hij werkt niet. :)

  • pinball
  • Registratie: Oktober 1999
  • Niet online

pinball

Electric Monk

tis ook raar spul.. dat lsd :P

ls -dl *
doet 't hier prima


edit:

tuurlijk werkt dat in een dir zonder normale bestanden |:( |:(
* pinball slaapt waarschijnlijk nog :P

Whenever you find that you are on the side of the majority, it is time to reform.


Verwijderd

Wat ik bedoelde was

ls -d *

maar die laat ook de files in de directory zien (wat alleen ls ook doet |:()

  • jeroen|IA
  • Registratie: Juni 1999
  • Laatst online: 26-05-2025
mja... eigenlijk vaag dat ls -d niet doet wat de manpage belooft. nooit eerder opgevallen.

Verwijderd

ls -d doet wel wat de manpage belooft, maar niet wat jullie denken :)
jos@k1:~> ls m* -d
mail/
jos@k1:~> ls m*
saved-messages sent-mail
Dus het verbergt de inhoud van een directory als je met wildcards werkt :7

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
ls -dl* geeft alles incl non dirs.

lijkt me toch dat hier toch een paar bash gurus zouden moeten rond hangen die dit ogenschijnlijke probleempje moeten kunnen kraken, niet?

ls -l | grep '^d' werkt natuurlijk wel maar ik wil graag alleen de dir namen zien en op deze manier moet ik awk gaan gebruiken om dat er uit te filteren en daar ben ik helemaal niet goed in.

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • NiPeng
  • Registratie: Juli 2000
  • Niet online

NiPeng

I am the slime

find [path] -type d :?

Edit: bijv find / -type d


Some people like cupcakes better, I for one care less for them.


  • jeroen|IA
  • Registratie: Juni 1999
  • Laatst online: 26-05-2025
find is geen handige oplossing, omdat je dan ook meteen alle subdirs, subsubdirs en subsubdirs (enz) te pakken hebt. meestal wil je dat niet lijkt me zo :)

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
dacht ik ook ff,
maar kijk: find ./ -type d -maxdepth 1
dan is het perfect :)

tnx

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • jeroen|IA
  • Registratie: Juni 1999
  • Laatst online: 26-05-2025
ik zeg ook niet dat het niet kan, er zijn ws een tiental manieren waarop je het gewenste lijstje kunt krijgen mbv verschillende tools. ik blijf het toch vaag vinden dat er geen flag van ls is die je gewoon alleen alle dirs geeft.

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
* GiLuX agrees

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • Expander
  • Registratie: Februari 2001
  • Niet online
'ls -d' is voor als je niet wil dat de directories expanden. Als je bijvoorbeeld 'ls -d .*' doet in een directory, krijg je alle bestanden en directories te zien die beginnen met '.'. Als je gewoon 'ls .*' doet, dan zie je ook nog eens de inhoud van de geliste directories.

Expanding the inexpandable


Verwijderd

Volgens mij expandeert */ tot alle (niet hidden) directories in de huidige directory. Dus met:
ls -d */
of zelfs gewoon:
echo */
zie je alleen directories.

  • Expander
  • Registratie: Februari 2001
  • Niet online
Hum, ja, dat had ik zelf kunnen bedenken.

ls -d */

'*/' is elk bestand dat eindigt op '/', dus een directory!

'-d' zorgt dat ze niet expanden!

Expanding the inexpandable


  • Klaas_V
  • Registratie: April 2003
  • Laatst online: 21:29
Nu weet ik dat dit een oud topic is, maar het was het enigste bruikbare wat ik tegenkwam in de search. Zelf loop ik ook tegen dit probleem aan en mischien is er in de tusen tijd al een oplossing voor.

Ik wil dus ook graag allle directory's listen met de rechten daarbij. Ik gebruik suse.

Verwijderd

Doe het volgende:

find . -type d -exec ls -ld {} \;

Vwala!

  • Klaas_V
  • Registratie: April 2003
  • Laatst online: 21:29
Bedankt, precies wat ik zocht :*)
Pagina: 1