🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #1072

Re: GOLF: averiguar directorios con un único archivo dentro

#1072
From: Gonzalo Pérez de Olaguer Córdoba
Date: Thu, 04 May 2006 19:22
49 lines
2794 bytes
Hola "David Serrano (Hue-Bond)" <responder_solo_en_el_grupo@yahoo.es>
el Sun, 9 Apr 2006 19:28:58 +0000 (UTC) escribiste:

> Por si alguien se aburre (tanto como yo) (que no creo)...

Por cambiar de diversión, me he metido a ello ...

> 
> En un directorio cualquiera (por ejemplo, uno llamado "mp3" ;^)) tenemos un
> montón de directorios en los que dentro puede haber:
> 
> a) varios archivos y/o directorios
> b) un único directorio
> c) un único archivo regular
> 
> En dicho directorio mp3 sólo hay directorios. En ningún sitio hay sockets,
> pipas ni demás. Queremos averiguar, de todos estos directorios, los que
> cumplen c). El programa debe imprimirlos separados por alguno de los
> caracteres habituales de $IFS. El mp3 es nuestro directorio actual de
> trabajo.
> 
> Este es mi intento, 48 caracteres:
> 
> perl -le'@_=<$_/*>,@_==1&&-f$_[0]&&print for<*>'

Eso a mí no me funciona
> 
> Si alguien lo va a probar en bash, que sepa que ninguno de los archivos o
> directorios tiene espacios en el nombre.
> 
> 

Esto lista los directorios que sólo contienen un fichero, creo. No he verificado
si se deja alguno, pero lo he probado en ~/ y todos los que lista cumplen esa
condición.

for i in `find . -maxdepth 1 -type d -links 2`; do [ `ls -Al $i | wc -l` == 2 ] && echo $i; done

Mira la nota a -noleaf en man find(1): esto no vale para todos
los sistemas de ficheros.

-- 
Gonzalo Pérez de Olaguer Córdoba <gpoc@iies.es>
PGP key 2861C704 --- F206 5671 6789 425D 111C  1302 214F 1934 2861 C704
Technical Details
Message-ID: <20060504212253.0ba7592a@petres.salonet.snet>
Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!news.glorb.com!news.antakira.com!cagarruta.escomposlinux.org!hercules.escomposlinux.org!escomposlinux.org!not-for-mail
References: <slrne3io3q.2r9.responder_solo_en_el_grupo@genus.hue-bond.info>

Show Full Headers
Complete Article Headers
X-Google-Thread: f86c8,9ee7624a08527b65
X-Google-Attributes: gidf86c8,public
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!news.glorb.com!news.antakira.com!cagarruta.escomposlinux.org!hercules.escomposlinux.org!escomposlinux.org!not-for-mail
From: Gonzalo Pérez de Olaguer Córdoba <gpoc@iies.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: GOLF: averiguar directorios con un único
 archivo dentro
Date: Thu, 4 May 2006 21:22:53 +0200
Organization: escomposlinux.org
Lines: 49
Message-ID: <20060504212253.0ba7592a@petres.salonet.snet>
References: <slrne3io3q.2r9.responder_solo_en_el_grupo@genus.hue-bond.info>
NNTP-Posting-Host: 59.red-80-25-103.staticip.rima-tde.net
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: quoted-printable
X-Trace: hercules.cohp1 1146770576 15026 80.25.103.59 (4 May 2006 19:22:56 GMT)
X-Complaints-To: newsmaster@news-17.escomposlinux.org
NNTP-Posting-Date: Thu, 4 May 2006 19:22:56 +0000 (UTC)
X-Newsreader: Sylpheed-Claws 1.0.4 (GTK+ 1.2.10; i386-pc-linux-gnu)