Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/06/2011, 11:21
thinkr
 
Fecha de Ingreso: junio-2011
Mensajes: 1
Antigüedad: 12 años, 11 meses
Puntos: 0
Duda bash y awk -curiosa!-

Hola y gracias por leerlo:

resulta curioso, que si ingreso directamente en la bash

Código:
ls -l $dir | grep -v total | awk '{print "Permisos",$1,"nombre",$8}'
la salida es

Permisos drwxr-xr-x nombre Documentos
Permisos drwxr-xr-x nombre Escritorio
Permisos drwxr-xr-x nombre fuente
Permisos drwxr-xr-x nombre Imágenes
Permisos -rw-r--r-- nombre logbackup.txt
Permisos drwxr-xr-x nombre Música
Permisos drwxr-xr-x nombre Público
Permisos -rw-r--r-- nombre [email protected].
Permisos -rw-r--r-- nombre [email protected]
Permisos -rw-r--r-- nombre [email protected]
Permisos -rw-r--r-- nombre trabajo
Permisos drwxr-xr-x nombre Vídeos

Peeeeeero!!!

Si incluyo eso mismo en un script del tipo (for por ej)

Código:
#!/bin/bash
echo "Su directorio?"
read dir
for i in `ls -l $dir | grep -v total | gawk '{print "Permisos"$1"nombre"$8}'`;do
echo "$i"
done
su salida sera

Permisos
drwxr-xr-x
nombre
Documentos
Permisos
drwxr-xr-x
nombre
Escritorio
Permisos
drwxr-xr-x
nombre
fuente
Permisos
drwxr-xr-x
nombre
Imágenes
Permisos
-rw-r--r--
nombre
logbackup.txt
Permisos
drwxr-xr-x
nombre
Música
Permisos
drwxr-xr-x
nombre
Público
Permisos
-rw-r--r--
nombre
[email protected].
Permisos
-rw-r--r--
nombre
[email protected]
Permisos
-rw-r--r--
nombre
[email protected]
Permisos
-rw-r--r--
nombre
trabajo
Permisos
drwxr-xr-x
nombre
Vídeos

Por qué esas nuevas lineas? Dónde esta el fallo, en el uso de awk o del for?

Mi conclusión es que cada valor de $i lo toma de una cadena, no de una linea, y entonces te imprime $i tantas veces como vueltas pega el for...es decir 1 vuelta: valor=permisos, la imprimo. Vuelta 2 valor=-xwr-x-x, imprimo, y asi hasta que se termina el ls y sale del for.
Estoy equivocado?
O es el awk , que me imprime una nueva linea?

Cómo puedo hacer que en el script salga como al principio?

ayuda x favor !!

y gracias!!!