perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 24
Click for quality!




11.02.2012 / 12:13

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


Beitrag2Dateien zusammenfügen
Seitenanfang
Hallo,
ich habe folgendes Problem. Ich habe 2 Textdateien mit Daten welche jeweils duch einen Zeilenumbruch getrennt sind. Nun möchte ich ein Programm schreiben welches die erste Zeile der 1Datei mit Tab an die erste Zeile der 2Datei hängt.

Zur Verdeutlichung:
1Datei:(straßen)
goethestaße
beetstraße
hohestaße
etc.
2Datei:(hausnummern)
7
9
125

Die Datei die ich erstellen möchte soll dann so aussehen.
goethestaße \t 7
beetstraße \t 9
hohestraße \t125
etc.

Ich hoffe es hat jemand eine Idee, denn ich schaffe es nur das die Daten untereinander (erst Daten aus Datei1 dann Daten aus Datei2) statt nebeneinander ausgegeben werden.

mayangel

Datum: 18.08.2005-15:12

Beitragre: 2Dateien zusammenfügen
Seitenanfang
Hallo mayangel,

du solltest mit "chomp ( $szZeile ) " jeder eingelesenen Zeile das Zeilenendezeichen (CR / CRLF abh. vom System) entfernen.

use strict;

my $szDatei_1 = shift ( @ARGV ) || '';
my $szDatei_2 = shift ( @ARGV ) || '';

my $szZeile_1;
my $szZeile_2;

# pruefe, ob Dateien vorhanden und lesbar:
#---------------------------------------

unless ( $szDatei_1 && -w $szDatei_1 ) {

print "Datei_1 [$szDatei_1] nicht angegeben oder keine Schreibrechte [$!]\n";
exit 1;

} # end pruefe Datei_1

# ...kannst Du auch fuer Datei_2 machen


open INFILE_1, "<$szDatei_1" || die "$!";
open INFILE_2, "<$szDatei_2" || die "$!";

# schreibe zuerst in ein tempfile, das spaeter umbenannt wird

open OUTFILE, ">$szDatei_1".'.tmp' || die "$!";

while ( $szZeile_1 = <INFILE_1> ) {

chomp ( $szZeile_1 );

$szZeile_2=<INFILE_2> || '';
chomp ( $szZeile_2 );

print OUTFILE "$szZeile_1\t$szZeile_2\n";

} # end while alle Zeilen Datei_1

close (INFILE_1);
close (INFILE_2);

close (OUTFILE);

# jetzt noch outfile umbenennen:
#-------------------------------

unless ( rename ( "$szDatei_1".'.tmp', $szDatei_1 ) ) {

print "Fehler beim Umebennen [$!]\n";
exit 1;

} # end umbenennen

exit 0;

Datum: 19.08.2005-06:19

Beitragre: 2Dateien zusammenfügen
Seitenanfang
danke für das programm. das war genau das was ich gesucht habe

Datum: 19.08.2005-10:57

-






-
-