Распечатанные данные не были похожи на входные данные и хотели бы удалить некоторые данные из содержимого

201
Tree_Chee

Я хочу попробовать распечатать весь контент во входном файле .txt для обработки некоторых данных, но я столкнулся с некоторой проблемой, так как распечатка контента была не точной. Могу ли я знать, почему это было так? Спасибо всем. Я хочу сгенерировать контент и удалить все "0x".

Входной файл

0x30002; 0x0; 0x0 0x0; 0x0; 0x0 0x36460301; 0x15; 0x0 0x88A3; 0x0; 0x0 0xF0000D01; 0x4; 0x0 0xF0000D01; 0x5; 0x0 0xF0000501; 0x22882208; 0x0 0xF0000D0D; 0x7; 0x0 0xF0000D11; 0xD; 0x0 0xF0000D19; 0x2; 0x0 0xF0000105; 0x147; 0x0 0xF0000231; 0x8FC; 0x0 0xF0000909; 0x80327; 0x0 0xF000090D; 0xF4F3034A; 0x0 0xF0000911; 0xF5; 0x0 0xF0000E11; 0xA01FA00; 0x0 

#!/bin/perl #!/usr/local/ActivePerl-5.6/bin/perl -w  $infile = $ARGV[0]; $outfile = "$infile.dc"; $index = 0;  open (OUT, ">$outfile" );  $index = 0; open (INF, "$infile") || die (" can not open input file \n" ); print "============After open infile=====================\n"; while(<INF>) { if($_ =~ /$index/ ) {  chomp $_; @temp2 = split (/\s+/,$_); printf OUT (@temp2); # printf OUT ("%-10s %7d %s %7.2f %s %7d %s \n", # $temp2[5],$temp2[7], $temp2[8], $temp2[9], $temp2[10], $temp2[11], $temp2[12]); }  if ($index < 2000) { $index = $index +1;} else {$index = 2000;}  } # whole # } # for  close (INF) || die "cannot close input file !!"; close (OUT); #rename("$outfile1", "$infile.txt"); print " data is in $outfile. \n\n"; 

Вывод из скрипта

0x30002;0x88A3;0xF0000D01;0xF0000D01;0xF0000D0D;0xF0000D19;0xF0000105;0x40109801;0xF3802001;0x480C7004;0xF0000010;0x54359026; 
0
В чем вопрос? Каков ваш ожидаемый результат? Прежде всего: ** ВСЕГДА ** `используйте строгий; используйте предупреждения; Toto 5 лет назад 1
Я предлагаю вам обновить, Perl 5.6 был выпущен 22 марта 2000 года, текущая версия 5.26.2 Toto 5 лет назад 0

1 ответ на вопрос

0
Tomasz

Очень неясно, чего вы хотите достичь. Вы должны завершить свой вопрос с четким объяснением того, что вы хотите, с минимальным примером вашего кода (без лишних комментариев и ненужного кода) и с ожидаемым выводом для вводимых вами данных. Если это просто удаление 0xиз файла, этого достаточно:

perl -wple's/0x//g' input.file