Return to BSD News archive
Xref: sserve comp.unix.misc:17628 comp.unix.admin:30356 comp.unix.bsd:16674 comp.unix.programmer:26927 comp.unix.questions:66528 comp.unix.shell:23542 Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!news.qut.edu.au!news From: mdawson@eese.qut.edu.au (Murray Dawson) Newsgroups: comp.unix.misc,comp.unix.admin,comp.unix.bsd,comp.unix.programmer,comp.unix.questions,comp.unix.shell Subject: Re: A Unix command to obtain directory name only Date: 12 Jul 1995 01:37:13 GMT Organization: SPRC Speech Research Lab Lines: 37 Distribution: world Message-ID: <3tv909$2k0@stork.qut.edu.au> References: <3tk3dc$4ml@rcp6.elan.af.mil> Reply-To: mdawson@eese.qut.edu.au NNTP-Posting-Host: markov.sprc.qut.edu.au Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In article <3tk3dc$4ml@rcp6.elan.af.mil>, Jay J Oh <OHJ%CSCADPS@mhs.elan.af.mil> writes: > > >I am trying to invoke a unix command to obtain only directory names >listing for a given path. I tried using 'ls -d *', but this includes >files also. I also tried 'find -type d . -print' but this command >recursively list all the subdirectories, which I don't want. > >Can anyone have any idea how to solve this problem? How about: ls -p | grep / (add -a to get .* directories) and to get rid of the "/" in the output use: ls -p | grep / | awk -F/ '{print $1}' and to make it a function under, say, bash: lsd () { ls -p $@ | grep / | awk -F/ '{print $1}' | more } I might even add this to my .profile :) Hope this helps, Murray -- | - Murray I. Dawson - | | mdawson@markov.eese.qut.edu.au | | Signal Processing Research Centre | | QUT, GPO 2434, Brisbane 4001, Australia. | | phone: +61 7 864 2459 | fax: +61 7 864 1516 |