Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]9743[/thread]

Vergleichen von 2 Dateien



<< >> 7 Einträge, 1 Seite
Rippchen
 2005-01-24 15:13
#95193 #95193
User since
2004-08-25
12 Artikel
BenutzerIn
[default_avatar]
Hallo alle zusammen.

Ich habe 2 Dateien, ich nenne sie mal datei1.cfg und datei2.cfg.
in beiden Dateien sind Einträge in folgendem Format enthalten:
time wert ID wert
z.b. 1103822291 3 0.100.0.0 4

Jetzt sollen die ID`s beider Dateien miteinander verglichen werden.
Wenn die ID aus datei1.cfg mit der aus datei2.cfg übereinstimmt dann soll die gesammte Zeile aus datei1.cfg in eine neue Datei geschrieben werden. Aber wenn die ID aus der ersten datei nicht in der zweiten zu finden ist dann soll dieser Eintrag ignoriert werden.

Das ganze muss mit einen shellscript realisiert werden. Perl oder andere Sprachen stehen auf dem system nicht zur verfügung

Ich hoffe das mir jemand bei diesem Problem helfen kann.
Die letzte Stimme, die man hört, bevor die Welt explodiert, wird die Stimme eines Experten sein, der sagt: Das ist ... unmöglich!
renee
 2005-01-24 15:45
#95194 #95194
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Probier mal:
Code: (dl )
1
2
3
4
5
6
7
#! /bin/csh

set ARRAY = `awk '{print $3}' file2.cfg`;

foreach p($ARRAY)
grep $p file1.cfg > zieldatei.txt
end
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Taulmarill
 2005-01-24 15:52
#95195 #95195
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
@Rippchen: wenn renee's script nicht funktionieren sollte bzw. wenn keine C-Shell auf deinem System verfügbar ist, dann gib doch bitte kurz an, welche shells installiert sind, und ob die programme awk egrep grep und sed zur verfügung stehen.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Rippchen
 2005-01-24 16:31
#95196 #95196
User since
2004-08-25
12 Artikel
BenutzerIn
[default_avatar]
Auf dem system steht die bash zur verfügung dafür aber auch nur grep soweit wie ich weis!
Die letzte Stimme, die man hört, bevor die Welt explodiert, wird die Stimme eines Experten sein, der sagt: Das ist ... unmöglich!
betterworld
 2005-01-24 16:36
#95197 #95197
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
[quote=Rippchen,24.01.2005, 15:31]Auf dem system steht die bash zur verfügung dafür aber auch nur grep soweit wie ich weis![/quote]
Was zur Verfuegung steht, findest Du mit "which" heraus. Wenn z.B. "which sed" keine Ausgabe hat, ist sed nicht installiert, was aber unwahrscheinlich ist.
Rippchen
 2005-01-25 09:59
#95198 #95198
User since
2004-08-25
12 Artikel
BenutzerIn
[default_avatar]
Der der das ganze eingerichtet hat meint das da die bash und grep drauf ist und sonst nichts weiter. Und deshalb hab ich echt Probleme das oben genannte Problem zu lösen.:(
Die letzte Stimme, die man hört, bevor die Welt explodiert, wird die Stimme eines Experten sein, der sagt: Das ist ... unmöglich!
Crian
 2005-01-27 13:31
#95199 #95199
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Dann soll er mal nachlegen. Ist ja nicht so, dass das Zeug was kosten würde...
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< >> 7 Einträge, 1 Seite



View all threads created 2005-01-24 15:13.