Роздруковані дані не були схожі з введенням і хотіли б видалити частину даних із вмісту


0

Я хочу спробувати надрукувати весь вміст у вхідному. Чи можу я знати, чому так було? Дякую всім. Я хочу створити вміст і видалити всі "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;

1
Яке питання? Який очікуваний результат? Перш за все: ВСЕГО use strict; use warnings;
Тото

Я пропоную вам оновити, Perl 5.6 вийшов 22 березня 2000 року, поточна версія 5.26.2
Toto

Відповіді:


0

Дуже незрозуміло, чого ти хочеш досягти. Вам слід заповнити запитання чітким поясненням того, що ви хочете, мінімальним прикладом вашого коду (без зайвих коментарів та неактуального коду) та очікуваним результатом для поданого вами вводу. Якщо мова йде лише про видалення 0xу файлі, цього достатньо:

perl -wple's/0x//g' input.file
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.