The UNIX and Linux Forums  

Go Back   El UNIX y Linux Foros > Arriba Foros > UNIX for Dummies Preguntas y Respuestas
.
google unix.com



UNIX for Dummies Preguntas y Respuestas Si no está seguro de que para publicar un UNIX o Linux cuestión, puesto que aquí. Todos los novatos en Linux, UNIX y bienvenida!

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Adición de columnas de dos archivos chandra321 Programación de scripts de shell y 7 05-06-2009 01:11 PM
añadir columnas Kelam_Magnus Programación de scripts de shell y 12 02-10-2009 10:56 AM
la comparación de archivos - añadir / restar / formating columnas oabdalla Programación de scripts de shell y 7 06-13-2008 04:20 AM
Perl: añadir columnas de archivo CSV con la información de cada dolo21taf Programación de scripts de shell y 1 03-05-2008 02:52 AM
Adición de columnas a los archivos de Excel usando Perl dolo21taf Programación de scripts de shell y 1 02-20-2008 07:13 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 05-16-2008
Figaro figaro is offline
Usuario Registrado
  
 

Fecha: enero 2007
Puestos: 271
Adición de columnas a un archivo

Quiero para seleccionar la primera columna de un diario archivo llamado foo.csv. El resultado se escribe en el archivo loquesea.txt. En la actualidad, la siguiente secuencia de comandos que se utiliza para:
cut-d,-f 1 foo.csv> loquesea.txt

Un resultado típico de rendimiento:
A12
A45
B11
B67

¿Qué tiene que ocurrir es que además dos columnas hay que añadir antes de escribir en el archivo, es decir, un código (por ejemplo, 'abc') y la fecha actual, de manera que un resultado típico de rendimiento:
2008-05-20 abc A12
2008-05-20 abc A45
2008-05-20 abc B11
2008-05-20 abc B67

¿Cómo puede lograrse esto en particular si la fecha (columna 2) debe ser la fecha de hoy?

Última edición por Figaro; 05-16-2008 en 05:37 PM.. Exposición de motivos: la simplificación del problema
  #2 (Enlace permanente)  
Old 05-16-2008
rubin's Avatar
Rubin rubin is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: noviembre 2007
Puestos: 321

Código:
awk -v d="$(date "+%Y-%m-%d")" '{print "abc", d, $1}' foo.csv > foo.txt

  #3 (Enlace permanente)  
Old 05-17-2008
Figaro figaro is offline
Usuario Registrado
  
 

Fecha: enero 2007
Puestos: 271
Gracias por su respuesta, funcionó muy bien. Una pregunta:

El delimitador que se sugiere es un espacio. ¿Cómo puede ser cambiado a una coma ','?

Y para que conste en acta, el texto completo de la declaración debe ser:

Código:
cut -d, -f 1 foo.csv | awk -v d="$(date "+%Y-%m-%d")" '{print "abc", d, $1}' >foo.txt

Si hay más eficiencia en la declaración se hiciera, por favor, hágamelo saber.

Gracias de antemano
  #4 (Enlace permanente)  
Old 05-17-2008
época era is offline Forum Advisor  
Pastor de Gatos Inútil (en año sabático)
  
 

Fecha: marzo 2008
Ubicación: / hay / es / sólo / bin / sh
Puestos: 3.652
awk es perfectamente capaz de hacer el trabajo de cortar al mismo tiempo, de modo que sí, que puede ser optimizado un poco. -F, awk establece el separador de campo a coma y OFS \u003d FS causas a utilizarlo como campo de resultados de la separación, así como [entrada] separador de campo.


Código:
awk -F, -v d="$(date "+%Y-%m-%d")"  '{ OFS=FS; print "abc", d, $1 }' foo.csv >foo.txt

  #5 (Enlace permanente)  
Old 06-25-2008
Figaro figaro is offline
Usuario Registrado
  
 

Fecha: enero 2007
Puestos: 271
Tengo el siguiente problema al ejecutar este script. En la actualidad es el siguiente:

Código:
awk -F, -v dt="$(date "+%Y-%m-%d")" '{ OFS=FS; print "abc", dt, $1 }' foo.csv > foo.txt

La respuesta es "ilegal nombre de variable."

Las primeras líneas del archivo de entrada foo.csv el aspecto siguiente:
SG70, B3B0M92, ANN8132R7036 ,25-junio-08
SG68, B3B2J97, ANN8132R6871 ,25-junio-08
ST71, B2Q4T68, ANN8132N4540 ,25-junio-08
SG67, B3B2J75, ANN8132R6798 ,24-junio-08

por lo que es una lista de los códigos de los códigos que en la primera columna sólo se necesitan. Comienzo con el código "abc" y la fecha, el archivo resultante loquesea.txt debería celebrar los siguientes datos:

"abc" ,2008-06-25, SG70
"abc" ,2008-06-25, SG68
"abc" ,2008-06-25, ST71
"abc" ,2008-06-25, SG67

¿Qué debo hacer para corregir el código anterior y, preferentemente, mantienen todo en una sola línea?

Gracias de antemano
  #6 (Enlace permanente)  
Old 07-21-2008
época era is offline Forum Advisor  
Pastor de Gatos Inútil (en año sabático)
  
 

Fecha: marzo 2008
Ubicación: / hay / es / sólo / bin / sh
Puestos: 3.652
Pruebe con nawk, bawk, mawk gawk, awk XPG4 o si usted tiene cualquiera de los instalados en su sistema.
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 10:41 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0