![]() |
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| falta de compreensão> erro chato | jzacsh | Programação Shell Script e | 21 | 4 semanas atrás 04:10 |
| erro na saída do script perl | namishtiwari | Programação Shell Script e | 2 | 06-15-2009 05:02 |
| Erro no script Perl ftptail | Cooki3s! | UNIX para Dummies Perguntas & Respostas | 2 | 05-04-2009 11:46 |
| Facilitar a compreensão da sintaxe erro Emissão | warlock129 | Programação Shell Script e | 6 | 04-26-2009 07:02 |
| Perl erro | pietie | Programação Shell Script e | 4 | 10-15-2008 09:05 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Não tenho certeza que todos aqueles "shift" linhas estão aí para, mas o loop problema é aqui:
Código:
while ($f2){
($Fld0,$Fld1,$Fld2,$Fld3,$Fld4,$Fld5,$Fld6,$Fld7,$Fld8,$Fld9,$Fld10) = split(/[|\n]/,$f2, -1);
print $f3_out ($Fld0, $Fld1, $Fld2, $Fld3, $Fld4, $Fld10);
}
}
Código:
($Fld0,$Fld1,$Fld2,$Fld3,$Fld4,$Fld5,$Fld6,$Fld7,$Fld8,$Fld9,$Fld10) = split(/[|\n]/,$f2, -1); print $f3_out ($Fld0, $Fld1, $Fld2, $Fld3, $Fld4, $Fld10); } Não sei se isso irá tornar o seu código fazer algo útil, mas esperemos que será executado e você ainda pode modificar conforme necessário. |
|
|||||
|
Obrigado pela resposta
Quero mesmo a loop, mas não indefinidamente na primeira linha do ficheiro2. Ficheiro2 tem 24.000 registros divididos em 10 campos, devo dizer que tenho que trabalhar Agora, mas eu estou usando 2 scripts para fazer um extracto dos registos a Outros jogos deles. O que estou tentando fazer é combiná-los Em um THK |
|
||||
|
Se você não quer que ele loop infinitamente, em seguida, remova o 'enquanto' loop eu mostrei-lhe remover.
Postagem atualizada em ---------- ---------- anterior 02:25 update estava em 02:15 ---------- Talvez isto seja w2hat você deseja fazer: Código:
#!/usr/local/bin/perl
use warnings;
use strict;
die "Usage: $0 <file1> <file2> <file_out>\n" unless $#ARGV==2;
my ($file1, $file2, $file3) = @ARGV;
open my $f1_in, $file1 or die "Could not open $file1\n";
open my $f2_in, $file2 or die "Could not open $file2\n";
open(my $f3_out, '>', $file3) or die "Could not open $file3: $!\n";
while (my $f1 = <$f1_in>) {
my $f2 = <$f2_in>;
$f1 =~ s/^\s+|\s+$//g;
$f2 =~ s/^\s+|\s+$//g;
my($Fld0,$Fld1,$Fld2,$Fld3,$Fld4,$Fld5,$Fld6,$Fld7,$Fld8,$Fld9,$Fld10) = split(/\|/,$f2, -1);
print $f3_out join(',',$Fld0, $Fld1, $Fld2, $Fld3, $Fld4, $Fld10);
}
|
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|