El 19/05/12, "Matías A. Bellone" <matiasbell...@gmail.com> escribió:
> On 05/19/2012 01:06 PM, Alfonso Egea Callejas wrote:
>> Hola a todos.
>>
>> Me interesaría que en un script se utilizase el "primer" elemento de
>> una carpeta únicamente para llevar a cabo una acción. Es decir si:
>>
>> $ ls carpeta
>> aa   bb   cc
>>
>> busco una orden que devuelva aa.
>>
>> Buscando con ls --help, man ls y google lo más parecido que he
>> encontrado es romper un ciclo for con break:
>>
>> for i in `ls carpeta`; do
>> echo $i
>> break
>> done
>>
>> pero me parece raro que no haya una opción de ls para listar
>> únicamente el primer elemento... sabéis si la hay?
>>
>
> no que yo sepa, pero podés encadenar comandos y para sacar los elementos
> del tope de una lista, tenés head:
>
> $ ls carpeta | head -n1
> aa

Sí, acabo de encontrarlo también. Usando pipes entre ls y head o tail
puedes obtener "todas" las combinaciones posibles. Ejemplo:

$ ls carpeta | head -2    #muestra los dos primeros
aa
bb

$ ls carpeta | tail -1      #muestra el último
cc

$ ls carpeta | head -2 | tail -1   #muestra el segundo
bb

Lástima no poder acceder a la "posición" deseada directamente con ls
para que quedase más limpio :( pero bueno, todo tiene solución :D

Saludos y muchas gracias Toote!

Alfonso


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/CAMZtU=_eds8n1jms8yjvvmlijgjw836gpu+zyaprd+6ojo+...@mail.gmail.com

Responder a