Avatar billede websphere Nybegynder
24. februar 2003 - 13:27 Der er 4 kommentarer og
1 løsning

Fil behandling

Hejsa,

Vi har en mappe med X antal filer i, der to forskellige slags, men med samme type. Den eneste forskel er første linje i filen.

Så afhængigt af om de første 7 karaktere i første linje enten er <CC028A> eller <CC029A> så skal de flyttes ud i to andre mapper.

Koden skal gennemgå alle filer i mappen.

//MG
Avatar billede mfalck Praktikant
24. februar 2003 - 13:42 #1
#! /usr/bin/perl

use strict;
use FileHandle;

my $cmd = "cp"; # "mv" hvis du vil flytte dem;

my $path = "/data";
my $outpath1 = "/tmp/test1";
my $outpath2 = "/tmp/test2";
my $fh;

my $out;
my @ary = glob("$path/*");
        foreach $out (@ary) {
          $fh = new FileHandle("< $out") ;

          while (<$fh>)  {
            if ( $_ eq "<CC028A>") {
              `$cmd $out $outpath1`;
            } elsif ( $_ eq "<CC029A>") {
              `$cmd $out $outpath2`;
          }
          }
}
Avatar billede websphere Nybegynder
24. februar 2003 - 14:18 #2
Vil dette også virke på win 2k platformen?
Avatar billede websphere Nybegynder
24. februar 2003 - 14:23 #3
Kan man ikke få de filer der er i et dir ind i et array eller sådan?
Avatar billede mfalck Praktikant
24. februar 2003 - 14:28 #4
my @ary = glob("$path/*");

så ligger filerne i @ary

det er skrevet på linux, så du skal lave kommandoerne om (cp - copy og mv -move) samt ændre "/" til "\"
Avatar billede mfalck Praktikant
24. februar 2003 - 14:29 #5
forresten så er det er ikke filerne per se - men navnene
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester