[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Regular expression



Hallo Andreas,

On 1/8/07, Andreas Pakulat <apaku@gmx.de> wrote:
On 08.01.07 12:54:05, Amir Tabatabaei wrote:
> Ich habe eine Datei, die wie folgt aufgebaut ist
>
> Thu Dec 21 14:44:59 2006
> , 97/100, -270 dBm, ...
> Thu Dec 21 14:45:00 2006
> , 96/100, -270 dBm, ...
>
> Ich moechte nun diese Zeilenumbrueche los werden und die beiden Zeilen
> zusammen fassen:
>
> Thu Dec 21 14:44:59 2006, 97/100, -270 dBm, ...
> Thu Dec 21 14:45:00 2006, 96/100, -270 dBm, ...
>
> Probiert habe ich das Ganze mit sed und wie folgt:
>
> sed -e 's/2006\n/2006/' datei

sed ist hier das falsche Tool, da sed die Eingabe normalerweise an eben
diesen Zeilenumbruechen auftrennt. Ich würde perl oder python
vorschlagen, dort kann man die ganze Datei als fortlaufenden String
einlesen und dann den entsprechenden regulären Ausdruck anwenden.

Python-Beispiel (ungetestet)

,----
| import re
|
| f=open('deinedatei', 'r')
| string=f.read()
| f.close()
| r=re.compile('2006\n')
| newstring=r.sub(string, '2006')
newstring=re.sub(r, '2006', string)
| f=open('newdatei','w')
| f.write(newstring)
| f.close()
`----

Ich hab zwar noch weniger Ahnung von Python und dein Code wollte auch
nicht auf anhieb. Jedoch nach Googlen der einzelnen Funktionen und
nach Modifikation einer Zeile (s.o.) bekam ich das richtige Ergebnis.

Vielen vielen Dank!
Gruss
Amir



Reply to: