The UNIX and Linux Forums  

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Multuple encontrar duplicados de los archivos con 2 tipos diferentes de archivos ricky007 Programación de scripts de shell y 2 03-04-2008 01:46 PM
Comparar / Diferencia entre los directorios y subdirectorios? andylee80 UNIX for Dummies Preguntas y Respuestas 5 07-12-2007 10:45 AM
script para comparar archivos pulse2india Programación de scripts de shell y 0 10-19-2005 05:32 PM
paquete perl directorios - ¿y si el guión es a la diferencia DIR contienen un *. pm? gusla Programación de scripts de shell y 1 11-23-2004 08:32 PM
2 archivos diferencia; diferencia de la salida al 3 de archivo blt123 Programación de scripts de shell y 2 05-28-2002 12:29 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 07-29-2008
Vasuki vasuki is offline
Usuario Registrado
  
 

Fecha: julio 2008
Publicaciones: 1
comparar 2 coloum diferencia de 2 archivos con script de perl

Hola,

Soy nuevo en perl de secuencias de comandos .. Todavía estoy que learing .. Se me ha pedido que escriba una perl script que debería comparar 2 coloums de 2 archivos diferentes. si esos son los mismos 2 coloumn la secuencia de comandos debe almacenar la tanto la diferencia en 2 líneas de archivos.

estos son archivos,

archivo 1:
21767016 226112 char []
19136520 797355 java.lang.String
17769368 307049 java.lang.Object []
13981656 582569 Entrada $ java.util.HashMap
10867240 16650 int []
9065616 559799 java.lang.String []
9060192 79626 java.util.HashMap Entrada $ []
6969384 23146 byte []
6857664 285736 java.util.Vector


archivo 2:
21702192 904258 java.lang.String
20985320 360561 java.lang.Object []
20524112 209810 char []
12623280 525970 Entrada $ java.util.HashMap
10945080 678896 java.lang.String []
9781432 10871 int []
8302464 345936 java.util.Vector
8107104 337796 netscape.ldap.util.RDN
7620024 68357 java.util.HashMap Entrada $ []
6515152 52272 * ConstMethodKlass

por lo que tengo que comparar 3 coloumn de estos archivos a 2, por ejemplo, tengo java.lang.String presente en los dos así que quiero sacar el script línea completa de los archivos en 2 diferentes archivos. Estos 2 archivos son archivos de gran tamaño.

por favor me indican cómo se puede hacer. algunos han sugerido que uno puede usar la tabla hash aplicación.

gracias,
Vasuki
  #2 (Enlace permanente)  
Old 07-30-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Fecha: Mayo 2008
Ubicación: Sydney, Australia
Puestos: 1.009
Pruebe esta quizás (no probado):


Código:
awk '
    # load the contents of file1 into a hash indexed by $3
    NR==FNR { file1[$3]=$0; next }
    # check whether $3 in file2 is in the hash, if so, print bothlines to files
    $3 in file1 { print file1[$3] >> "file1.both"; print >> "file2.both" }
' file1 file2

  #3 (Enlace permanente)  
Old 07-30-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
Y aquí es (aproximadamente) en el mismo Perl:


Código:
perl -ane 'BEGIN { open FILE1, ">file1.both"; open FILE2, ">file2.both"; }
  if ($. == ++$n) { $h{$F[2]} = $_; close ARGV if eof; next; }
  if ($h{$F[2]}) { print FILE1 $h{$F[2]}; print FILE2; }' file1 file2

Esto no es muy idiomáticas Perl, Sino que debe esperar ser suficiente para empezar. Con el engaño $ n y ARGV es simular el awk NR \u003d\u003d FNR idioma. El EF Lo más importante es restablecer el número de líneas en $. cuando el archivo de los cambios, ver la EF documentación para una breve discusión.

Por cierto, $ 3 en 6515152 52272 * ConstMethodKlass es justo "*" - tal vez usted quiera normalizar que, en lugar de cambiar el guión.
  #4 (Enlace permanente)  
Old 07-30-2008
summer_cherry summer_cherry is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: junio 2007
Ubicación: Beijing China
Mensajes: 1.098
si no está seguro de entender correctamente su pregunta.

De todos modos, espero más adelante se puede hacer algo de sentido común.


Código:
open (FH,"<a");
while(<FH>){
	@arr=split(" ",$_);
	$hash{$arr[2]}=$_;
}
close(FH);
open (FH,"<b");
while(<FH>){
	@arr=split(" ",$_);
	if(exists($hash{$arr[2]})){
		print $hash{$arr[2]};
		print $_;
	}
}
close(FH);

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 08:55 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