• Publicidad

Eliminar líneas en blanco

Perl aplicado a la bioinformática

Re: Eliminar lineas en blanco

Notapor Leo_Gutierrez » 2009-08-21 13:57 @623

Efectivamente, netsoul, funciona correctamente.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. my $variable = 'join(53022..53183,53484..53624,53703..54494)
  5.  
  6. compl(23519..24451,24542..24655,24752..24962,25041..25435,
  7. 25524..25743,25825..25997,26081..26203,26292..26452,
  8. 26543..26776,26862..27012,27099..27281,27372..27533,
  9. 27618..27713,27803..28431,28708..28805,28890..29080,
  10. 29160..30065,30147..30311,30410..30816,30902..31079)
  11.  
  12. 4523452..4678299';
  13. $variable =~ s/(.)\s/$1/g;
  14. print $variable;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
leo@lein:~/Escritorio/pl$ perl pl.pl > lala.txt
leo@lein:~/Escritorio/pl$ cat -n lala.txt
join(53022..53183,53484..53624,53703..54494)
 compl(23519..24451,24542..24655,24752..24962,25041..25435,25524..25743,25825..25997,26081..26203,26292..26452)
4523452..4678299leo@lein:~/Escritorio/pl$
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Última edición por explorer el 2009-08-22 04:51 @244, editado 2 veces en total
Razón: Bloques de código, recortada línea larga
Leo_Gutierrez
Perlero nuevo
Perlero nuevo
 
Mensajes: 91
Registrado: 2008-08-20 23:38 @026

Publicidad

Re: Eliminar lineas en blanco

Notapor principiante » 2009-08-21 14:23 @641

Muchas gracias RockoX y netsoul.
principiante
Perlero nuevo
Perlero nuevo
 
Mensajes: 27
Registrado: 2009-08-16 12:11 @549

Re: Eliminar líneas en blanco

Notapor explorer » 2009-08-22 04:41 @236

Yo también quiero dar la enhorabuena a RockoX y netsoul. Quizás este sea el primer hilo, después de casi 4 años que llevo aquí, en los que un par de "novatos" resuelven bien un problema. :wink:

Solo hubiera quedado un poquito mejor preguntarle a principiante por qué quiere hacer eso que nos pregunta. Fijaros que primero nos pide quitar las líneas en blanco y luego, cuando lo resuelve, nos pide unir antes las líneas de los párrafos.

Quizás si sabemos el objetivo final podríamos darle más pistas o incluso una mejor solución global. No digo que dar vueltas por los alrededores esté mal. De hecho, así hemos aprendido todos. Pero a veces es igual de formativo dar una solución directa.

Pero bueno, está resuelto.

Yo daré otra solución, usando otra cosa, para que veamos más posibilidades :wink:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;

my $CDS = 'join(53022..53183,
53484..53624,53703..54494)

compl(23519..24451,24542..24655,
24752..24962,25041..25435,
25524..25743,25825..25997,26081..26203)

4523452..4678299'
;

$CDS =~ s/\n(?!\n)//g;

print "$CDS\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

La expresión regular quita los retornos de carro que no estén seguidos de otro retorno de carro. Esto tiene el efecto de juntar las líneas de los párrafos, y de eliminar el primer retorno de carro de cada párrafo, por lo que si están separados por una línea en blanco, quedarán juntos.
Última edición por explorer el 2009-08-26 08:15 @386, editado 1 vez en total
Razón: Typo
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Anterior

Volver a Bioinformática

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados