Consejo urgente sobre awk

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: akodo, maiku

Responder
ronlin
Forista Nuevo
Forista Nuevo
Mensajes: 7
Registrado: Jue May 06, 2010 11:37 pm

Consejo urgente sobre awk

Mensaje por ronlin » Jue May 20, 2010 6:31 pm

Hola, ya es la segunda vez que pregunto sobre linux, estoy empezando en este mundillo y aveces no me aclaro y salgo loca.
Me gustaria que alguien me diera algun consejo de como sacar, de un fichero en el cual e metido una base de datos introducida por teclado(nombre:apellido:dni), el dni de un usuario, lo e echo con grep pero si no meto el dni completo o intento "probar a malas" el programa me pueden salir 3 usuarios que coinciden con lo dni metido, y eso es erroneo.
Creo que deberia aver echo tanto el ingreso de los datos y el mostrado del dni que pido con awk para tener los campos ordenado y con el delimitador de campo(:) pero no se como.

Gracias y un saludo
Avatar de Usuario
niky45
Forista Ancestral
Forista Ancestral
Mensajes: 9186
Registrado: Jue Abr 12, 2007 7:00 am
Ubicación: tras la pantalla (...)
Contactar:

Re: Consejo urgente sobre awk

Mensaje por niky45 » Jue May 20, 2010 9:48 pm

puedes poner un ejemplo??

intentaba darte un codigo, pero esque no tengo muy claro lo que quieres, asi que seguramente mi codigo haria cosas raras. :?

:)
#446716
>>"Linux: the operating system with a CLUE... Command Line User Environment".
(seen in a posting in comp.software.testing)

[ DNFD ] - [ F4A ] - [ dotfiles ]
Avatar de Usuario
akodo
Moderador
Moderador
Mensajes: 1457
Registrado: Mié Nov 28, 2007 8:00 am
Ubicación: En la X del explorer (pulse para llamar)

Re: Consejo urgente sobre awk

Mensaje por akodo » Jue May 20, 2010 11:23 pm

No acabo de entender...
Si no metes el dni completo es lógico y normal que te salga más de un resultado. Es como preguntar al encargado de turno que te diga los dnis que empiecen por 567; te saldrá más de uno.
Lo que tendrías que comprobar es que el dni que te han dado está completo (8 dígitos y una letra). De ser así haces la búsqueda, sino das un error.
Descargue el gestor de mp3 "Music Manager" -> ([url=http://ctrlalt.iespana.es]mmlf[/url])
Última versión del gestor "Music Manager" -> ([url=http://sourceforge.net/projects/jmusicmanager/]jmmm[/url])
angecorona
Forista Nuevo
Forista Nuevo
Mensajes: 3
Registrado: Dom May 23, 2010 11:56 pm

Duda con la creacion de una lista

Mensaje por angecorona » Lun May 24, 2010 12:10 am

Hola,
Tengo un problema y es el siguiente, de un texto cualquiera, tengo que hacer un conteo de palabras y saber cuantas hay por ejemplo de 4 letras, de 5, y asi sucesivamente. Mi problemas es que con un ese resultado, tengo que crear un atabla de palabras donde su talla haya sido pasada como un argumento, por ejemplo si decido escoger una palabra de 5 letras, cmi lista debe de ser creada apartair de las palabras que contengan 5 letras, despues mostrar las de 6 y asi sucesivamente y no se como hacerla, puedo utilisar awk pero tampoco sé como hacerlo, ojala alguien me pudiera dar alguna pista.
Gracias.
Por otro lado quisiera saber cvomo puedo separar una lista larga, alguien me dijo que con split lo puedo hacer pero no se como.
Nuevamente gracias.
Avatar de Usuario
akodo
Moderador
Moderador
Mensajes: 1457
Registrado: Mié Nov 28, 2007 8:00 am
Ubicación: En la X del explorer (pulse para llamar)

Re: Consejo urgente sobre awk

Mensaje por akodo » Lun May 24, 2010 12:38 pm

Con awk puedes seleccionar el separador de campo que desees utilizar. Puede ser el espacio en blanco (por defecto), una coma, o particularmente "la palabra vacía" (que se pone como ""). Adicionalmente también puedes saber el número de campos del registro.

Dejo un par de enlaces que puedes ser muy útiles:
http://www.gnu.org/manual/gawk/html_nod ... ators.html
http://www.gnu.org/manual/gawk/html_node/Fields.html

Además también puedes seleccionar las lineas que quieres procesar (concretamente las que tengan un número determinado de letras). Curiosea un poco los enlaces que he puesto, y seguro que lo sacas.
Descargue el gestor de mp3 "Music Manager" -> ([url=http://ctrlalt.iespana.es]mmlf[/url])
Última versión del gestor "Music Manager" -> ([url=http://sourceforge.net/projects/jmusicmanager/]jmmm[/url])
angecorona
Forista Nuevo
Forista Nuevo
Mensajes: 3
Registrado: Dom May 23, 2010 11:56 pm

Re: Consejo urgente sobre awk

Mensaje por angecorona » Lun May 24, 2010 3:50 pm

Muchas gracias y voy a revisar lo que me comentas.

Editado -- Lun May 24, 2010 5:50 am --

Hola,
Estoy buscando informacion sobre como cortar una cadena larga de caracteres (o una linea larga de un texto cualquiera) y segun un profesor hizo el comento que con el comando split es posible hacerlo, pero en la documentacion que él nos dio, split lo hace pero para dividir un archivo en talla (octetos) y es diferente lo que yo necesito, incluso mi cadena larga la tengo que ve rcortada pero aun asi me debe de aparecer completa y no se si exista otro comando que me pueda ayudar a separarla y y visualizarla.
Mil gracias por sus comentarios.......un saludo
Avatar de Usuario
akodo
Moderador
Moderador
Mensajes: 1457
Registrado: Mié Nov 28, 2007 8:00 am
Ubicación: En la X del explorer (pulse para llamar)

Re: Consejo urgente sobre awk

Mensaje por akodo » Lun May 24, 2010 9:42 pm

No encuentro ninguna información sobre si hay un comando "split" en bash. Si puedes especificar más es posible que te pueda ayudar.

No sé si te refieres a algo como:

Código: Seleccionar todo

${string:pos:len}
que te extrae los caracteres de la cadena desde la posición "pos" el número de caracteres "len".
Aquí te dejo más información:
http://tldp.org/LDP/abs/html/string-manipulation.html
Descargue el gestor de mp3 "Music Manager" -> ([url=http://ctrlalt.iespana.es]mmlf[/url])
Última versión del gestor "Music Manager" -> ([url=http://sourceforge.net/projects/jmusicmanager/]jmmm[/url])
angecorona
Forista Nuevo
Forista Nuevo
Mensajes: 3
Registrado: Dom May 23, 2010 11:56 pm

Re: Consejo urgente sobre awk

Mensaje por angecorona » Lun May 24, 2010 10:06 pm

Muchas gracias por lo que me has enviado. El programa consisten enlo siguiente, tengo que escribir un scrip shell en el cual va a hacer la lista de los ficheros de un directorio cualquieray son 4 columnas las que deben de aparecer:
nombre directorio

Editado -- Lun May 24, 2010 12:06 pm --

Muchas gracias por lo que me has enviado. El programa consisten enlo siguiente, tengo que escribir un scrip shell en el cual va a hacer la lista de los ficheros de un directorio cualquieray son 4 columnas las que deben de aparecer:
nombre directorio | talla en octetos | fecha de la ultima modificacion | fecha del ultimo acceso
/root/tp-1/s2/tp01/pruebal1.txt | 12 | 2 | 0
/root/tp-1/s02/tp01/tp01/prueba_de| 48 | 4 | 1
_numero_primos.txt | |

en la segunda linea se debe de cortar y aparecer el resto en el renglon de abajo. El programa ya lo termine solo me falta hacer eso de que si la linea es muy larga cortarla y que el resto se vea abajo.
Muchas gracias por tu ayuda, de verdad me has dado informacion muy valiosa que me va a ayudar a hacer otras tareas.
Un saludo :)
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje