![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| 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 |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
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 |
|
||||
|
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 |
|
||||
|
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
|
|
||||
|
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 |
|
||||
|
Pruebe con nawk, bawk, mawk gawk, awk XPG4 o si usted tiene cualquiera de los instalados en su sistema.
|
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|