dkuhn123
Goto Top

Powershell aus txtdatei einzelne textstücke einlesen?!

Also leute ich habe folgendes Problem und zwar soll ich aus einem text welcher so ähnlich aussieht die zeilen mit dem x vor den Zahlen auslesen und dann Jeden Block einzeln einlesen also 1014.00 80.00 7.00 100.0230 usw und die dann in einzelnen textdatein speichern.
Ist das überhaupt in Powershell möglich?Ich habe jetzt schon seit Stunden im inet geschaut und nichts gefunden.
___________________________________________________________________________________________
254930.00
100.00
30.3c93
0.02300
0.0300
40.000
01.000
10104


x 1014.00 80.00 9.30 7.00 100.0230 0.000000 0.000000 1.0008000
x 2822.00 10.00 11.00 7.00 75.00 0.0030000 1.00076000 0.0000300
x 280230 6.50 2.00 7.00l 87.00 19.00 90.00 100.00 0.000000 0.000000 1.000000
x 2822.00 100.00 11.00 7.00 75.00 0.000000 1.0000030 0.00006400
x 1014.00 20.00 9.30 7.00 100.00 0.000004 0.00031000 1.0400000
x 2665.00 100.00 12.00 7.00 20.00 0.000000 1.000000 0.00000d0
x 2621365.00 100.00 12.00 7.00 80.00 0.000000 1.000000 0.0020000
x 2665.00 0.00 14.50 7.00 20.00 0.00010010 -1.0002000 0.000000
x 2665.00 0.00 14.50 7.00 80.00 0.0000500 -1.0003000 0.0030000
___________________________________________________________________________________________


mfg dk

Content-Key: 125209

Url: https://administrator.de/contentid/125209

Printed on: April 19, 2024 at 10:04 o'clock

Member: TobiisFreaky
TobiisFreaky Sep 17, 2009 at 14:19:36 (UTC)
Goto Top
Hi,

ist mit PS möglich.

Wie meinst du das genau? Sollen alle Zeichen hinter dem "x" in eine Text-Datei gespeichert werden?
Wie soll die Text-Datei(en) heißen?

LG
Member: DKuhn123
DKuhn123 Sep 17, 2009 at 14:26:16 (UTC)
Goto Top
ah ok geil
ne es sollen einfach alle einzelnen blöcke in einzelne textdateien gespeichert werden also
1014.00 in eine Textdatei
80.00 in eine textdatei
9.30 in eine textdatei
7.00 in eine textdatei
usw
aber halt nur die zahlen vor denen die X stehen also bei dem beispiel jetzt die letzten 9 zeilen
Wie die Textdateien heißen ist egal am besten wäre es wenn sie den Namen der Zahlen welche sich darin befinden haben.

lg dk
Member: ralfkausk
ralfkausk Sep 17, 2009 at 15:19:57 (UTC)
Goto Top
also, ich würde, falls das bei dir möglich ist, einfach die "unix-tools" nehmen.
das ist eine Sammlung von UNIX Programmen die für Windows angepasst wurden (freeware)

damit währe es recht einfach

for BLOCK in `cat textdatei|grep ^x`; do echo ${BLOCK} > ./${BLOCK}; done
Member: DKuhn123
DKuhn123 Sep 18, 2009 at 15:20:48 (UTC)
Goto Top
Ne ich muss es mit Powershell machen
Tobiisfreak kannst du mir vllt sagen wie man das macht?!
Member: 5t8d1e
5t8d1e Oct 09, 2009 at 17:26:35 (UTC)
Goto Top
ist vielleicht nicht das schönste Script aber es funktioniert:

$src = GC .\source.txt
foreach ( $zeile in $src )
{
$c =$null
$b = $zeile.Split(" ")
If ($b -eq "x")
{
[String]$c += $b[2..$b.Count]
$dest = $b[1] + ".txt"
$c | Add-Content $dest
}
}
Torsten