1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/local/bin/perl -w -l
#
#
use strict; # Dadurch muss man jetzt my einfügen, Deklaration von Variablen
use POSIX; # Erweiterte mathematische Funktionen
my @array;
my $suche1 = "suchstelle1";
my $suche2 = "suchstelle2";
open(IN, "<$ARGV[0]") || die "die Datei $_[1]nicht gefunden\n";
while(<IN>) {
if ($_=~ $suche1) {
open(OUT, ">out.txt");
while(<IN>)
{
if ($_=~ $suche2) { goto LOOP }
}
}
}
LOOP:do
close(OUT);
close(IN);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
#!/usr/local/bin/perl use strict; # Dadurch muss man jetzt my einfügen, Deklaration von Variablen use warnings; #use POSIX; # Erweiterte mathematische Funktionen #my @array; my $suche1 = "suchstelle1"; my $suche2 = "suchstelle2"; #open(IN, "<$ARGV[0]") || die "die Datei $_[1]nicht gefunden\n"; #open(OUT, ">out.txt"); #while(<IN>) { while(<DATA>) { if ($_ =~ $suche1 .. $_ =~ $suche2) { print; } } #close(OUT); #close(IN); __DATA__ $ 01alte1 Spalte2 Spalte3 Spalte4 $ 02alte1 Spalte2 Spalte3 Spalte4 $ 03alte1 Spalte2 Spalte3 Spalte4 $ 04alte1 Spalte2 Spalte3 Spalte4 suchstelle1 $ 05alte1 Spalte2 Spalte3 Spalte4 $ 06alte1 Spalte2 Spalte3 Spalte4 $ 07alte1 Spalte2 Spalte3 Spalte4 suchstelle2 $ 08alte1 Spalte2 Spalte3 Spalte4 $ 09alte1 Spalte2 Spalte3 Spalte4 $ 10alte1 Spalte2 Spalte3 Spalte4 $ 11alte1 Spalte2 Spalte3 Spalte4
2013-12-10T09:16:02 rasidrasidDie Daten sind in einer Datei, die sich individuell ergibt. Also ich kenne die Werte in den Spalten nicht. Ich dachte ich kann mit irgendeinem Befehl sie in eine neue Datei via Hash schreiben. Ganz unten im Skript kann ich sie nicht hinschreiben.
2013-12-10T09:54:46 rasidrasidMir ging es hauptsächlich darum, die Spalte1 und 2 in eine neue Datei zu schreiben und als dritte Spalte in der neuen Datei zb Spalte1*Spalte2 zu machen.
1 2 3
my @spalten = split /\s+/; # Annahme: die Spalten enthalten selbst keine Leerzeichen, Tabs etc. next unless @spalten > 1; # Die beiden "Suchstellen" sollen nicht verarbeitet werden. print "$spalten[1] | $spalten[2]\n"; # Auf einzelne Spalteninhalte zugreifen.
2013-12-10T14:34:42 rasidrasidwie kann ich diese Spalte1 und 2 in eine Datei schreiben, die ich dann später in excel in einem Diagramm darstellen kann.