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
División de archivos mediante Csplit savitha UNIX for Dummies Preguntas y Respuestas 7 12-01-2007 11:55 AM
Dividir un archivo en 2 Ficheros dummy_needhelp Programación de scripts de shell y 7 11-04-2007 07:36 PM
número total de archivos que tienen "aaa" en los archivos cuyos nombres de archivo _bbb * * sudheshnaiyer UNIX for Dummies Preguntas y Respuestas 1 08-16-2007 03:34 PM
Dividir un archivo en 2 o más archivos bobo UNIX for Dummies Preguntas y Respuestas 4 01-16-2006 05:15 PM
awk comando para dividir en 2 archivos m_subra_mani Programación de scripts de shell y 3 12-13-2005 05:13 PM

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-13-2008
Migrainegirl Migrainegirl is offline
Usuario Registrado
  
 

Fecha: Mayo 2008
Publicaciones: 3
dividir archivos en determinado número de archivos de salida

Hola a todos,

Tengo algunos grandes archivos de texto que tengo que dividir en un número específico de archivos de igual tamaño. Por lo que sé (y en realidad no sé que gran parte ) De la división comando sólo le permite especificar el número de líneas o bytes. Los archivos son de un tamaño diferente, por lo que el número de líneas difieren también.
Yo uso el siguiente código para ver cuántas líneas de cada fichero de salida debe ser (1 / 50 del documento original):

y \u003d `wc | awk '(print $ x/50)' | awk-F. '(if ($ 2> \u003d 1) (print $ 1 +1) else (print $ 1))' `
echo $ y

El problema es que no puedo utilizar esta variable $ y como insumo para la división de comando como esta:

dividir $ x-d-l $ y división / $ x

Simplemente no funciona. ¿Alguien sabe una manera de pasar el valor de la variable $ y en la división de mando? O ¿alguien tiene una mejor forma de resolver todo el problema?

Gracias de antemano!
  #2 (Enlace permanente)  
Old 05-13-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
Realmente no es claro por qué no puede usar la variable. La forma en que está ahora, no creo que contiene un valor útil (lo que hace el eco impresión para ti?), pero por el que se fijan las secuencias de comandos por lo que suena como funciona el mejor plan a menos que se puede explicar la razón por la que "simplemente no funciona".

Suponiendo que $ x es el nombre del archivo que está a punto de dividirse, intente algo como esto en lugar.


Código:
y=`wc -l < $x | awk '{ print 1+int($1/50) }'`

Puse en la adición de uno sobre la teoría de que esto debería hacer algo vagamente útil, incluso con archivos que son demasiado pequeños, con una ligera tendencia a hacer el último archivo en la serie más pequeña que las otras. (Tal vez dividir por 49 en lugar de compensar?)
  #3 (Enlace permanente)  
Old 05-13-2008
Migrainegirl Migrainegirl is offline
Usuario Registrado
  
 

Fecha: Mayo 2008
Publicaciones: 3
El eco me da un número, que se supone que haga.
La adición se usa para redondear los números: 232 se convierte en 231,2, 231,0, pero se mantiene 231.

Lo he probado de nuevo con la variable $ x se define explícitamente y luego funcionó. Por lo tanto, el problema parece ser de $ x. (lo siento, no he tenido mucho sueño anoche ) Esto cambia mi pregunta:
Si quiero usar mi script con el texto original como el archivo de entrada (como esto: sh test.sh <fichero), ¿cómo puedo llamar en el archivo original en el interior de la secuencia de comandos?
Yo, evidentemente, pensó que los $ x en "dividir $ x-d-l $ y división / $ x" se sustituye por "fichero.txt", pero no lo es.

Última edición por Migrainegirl; al 05-13-2008 08:53 AM..
  #4 (Enlace permanente)  
Old 05-13-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
Los parámetros están en $ 1 $ 2 $ 3, etc, pero si se invoca el script con la redirección, no hay ningún parámetro de posición, y no el nombre del archivo, sólo la entrada estándar.


Código:
vnix$ ./myscript file.txt oops   #  inside myscript, $1 is "file.txt" and $2 is "oops"
vnix$ ./myscript   # inside myscript, no file name is known; input is from standard input (terminal)
vnix$ ./myscript <file.txt   # again, inside myscript, no file name is known; input is redirected to come from file.txt


Editado por última época; al 05-13-2008 09:02 AM.. Motivo: Añadir esclarecedor (?) Ejemplo
  #5 (Enlace permanente)  
Old 05-13-2008
Migrainegirl Migrainegirl is offline
Usuario Registrado
  
 

Fecha: Mayo 2008
Publicaciones: 3
¡Gracias!
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 01:58 AM.


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