SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] Fjernelse af ^M



----- Original Message -----
From: "Anders Bruun Olsen" <sslug@sslug>
Newsgroups: sslug.perl
To: <sslug@sslug>
Sent: Thursday, November 29, 2001 12:10 PM
Subject: [PERL] Fjernelse af ^M


> Nu er det bare sådan at min input fil nogen gange kommer fra en dos
maskine
> hvilket resulterer i at min output fil har ^M for enden af hver linie..
> (faktisk er det ikke i enden da jeg skriver noget bagerst på de fleste
> linier) hvordan får jeg mit script til at fjerne dem før den skriver til
> filen?

Hejsa,

Det kan være du kan bruge det her script til noget, det er vist ca. en
ækvivalent til dos2unix tingen der (jeg kender den ikke)

#!/usr/bin/perl -w
use strict;
die "Usage: $0 <filename>\nLaver alle alle CRLF om til LF\n" unless @ARGV>0;

filerun: for(@ARGV){
        my $ignorebackup=0;
        if(!open(BKP,">$_~")){
                print "Kan ikke oprette en backup af filen $_\nFortsæt
alligevel?[y/n]:";
                my $svar=<STDIN>;
                $svar=~s/\r?\n//;
                $ignorebackup=1 if $svar=~/^y$/i;
                next filerun unless $svar=~/^y$/i;
        }
        open(FIL,$_) or do{close(BKP); print "kan ikke læse filen $_\n";next
filerun;};
        if(-f "$_.crlf"){
                print "Den midlertidige fil($_.crlf) findes allerede -
fortsætter ikke med at lave crlf for $_\n";
                close(BKP);
                close(FIL);
                next filerun;
        }
        open(NYFIL,">$_.crlf") or do {print "Kan ikke oprette en midlertidig
fil($_.crlf): $!\n"; close(FIL); close(BKP);next filerun;
};
        for(<FIL>){
                print BKP unless $ignorebackup;
                s/\r?\n/\n/og;
                print NYFIL;
        }
        close(FIL);
        close(NYFIL);
        close(BKP);
        rename("$_.crlf","$_") || print "Kan ikke ændre i filen $_: $!\n";
        unlink("$_.crlf");
}




 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:54
Denne side vedligeholdes af MHonArc .