WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Software (http://www.wcm.at/forum/forumdisplay.php?f=5)
-   -   Filter/Editor (http://www.wcm.at/forum/showthread.php?t=5265)

BOfH 04.09.2000 12:35

Hi,

Kennt wer eine Editor oder einfach nur ein simples Filterprogramm für ein Text File...
Wo man zb angeben kann das alle Zeilen die nicht ein bestimmtes Wort in einer Zeile haben automatisch gelöscht werden ?

mfg

Sonic 04.09.2000 13:53

Ich nehme an du suchst sowas für Windows oder!?

In Linux währe es kein Prob. Für MS kenne ich leider keines...



------------------
__________________
|»»»»»SONIC««««««|
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

BOfH 04.09.2000 14:05

Aja, Win wär mir lieber...
aber wenns sonst nicht geht mach ich das
halt unter linux wenn ich wüsst wie.

The_Lord_of_Midnight 04.09.2000 21:34

Hol Dir den grep. http://www.driveway.com/share?sid=8f...name=Downloads
Beispiele:
grep -i "Hallo" a.txt > out.txt
grep -i "Hallo" *
-i Ignore Groß-Kleinschreibung
Das erste Beispiel durschsucht die Datei a.txt und schreibt alle Zeilen mit "Hallo", "hallo", "HALLO" oder allen anderen Groß-Klein-Kombinationen in die Datei out.txt.
Das zweite Beispiel sucht das gleiche an allen Dateien des aktuellen Verzeichnisses.
Das und eine fast unendliche Anzahl an Möglichkeiten hast Du unter Linux gratis und immer dabei.

Wenn Du einen guten Editor suchst, hol Dir den Vi for Windows. Mußt Du natürlich erst lernen, aber wennst es einmal drauf hast, gibts niemand, der Dich geschwidigkeitsmäßig überholen kann.

Christoph 04.09.2000 21:37

Hallo BOfH,
ich habe ein Programm, daß das ev. kann, nämlich Ultra Edit Pro Ver. 7.10a.
Zu finden unter: www.ultraedit.com
Ich habe es aber noch nicht mit ganzen Zeilen probiert.
lG
Christoph

The_Lord_of_Midnight 04.09.2000 21:41

Nochwas, bevor ichs vergesse. Geht natürlich unter Windows auch, ist aber weit nicht so flexibel. (Wenn Du Dir die Optionen von Grep anschaust, da kann man fast alles nur denkbare machen.)

find /i "Hallo" a.txt
find /i "Hallo" *.* geht aber meines Wissens erst unter Win2k.
Zumindest für Deinen Zweck reichts, solange Du nicht zu hohe Ansprüche stellst.

BOfH 05.09.2000 00:27

Hi,
also mal thx...blös das ich nicht selbst daran gedacht habe aber das mit find erfüllt schon fast seinen Zweck.
Nur bräuchte ich halt UND Verknüpfungen...
werde mir noch zusätlich die angegebenen Editors anschauen :-)

cmp 05.09.2000 01:17

Also, ich kann Dir nur ein "Grep" für Windows anbieten... Was es taugt, weiß ich nicht, weil nicht ausprobiert :)
Du findest es unter http://www.32bit.com/software/listings/1719/

hope it helps
cmp
(zurück aus dem Urlaub :D)

The_Lord_of_Midnight 05.09.2000 17:24

Und ist sicher auch kein Problem. Aber kannst Du uns ein konkretes Beispiel bringen ?

BOfH 06.09.2000 09:35

Hi,
Nun, es geht um Auswertung von Chatlogs.
Ich will dan alles was Person AAA (die eindeutig gekennzeichnet ist) und Person BBB so alles geschrieben hat zusammenfassen und alle übrigen Zeilen rauslöschen.
Also z.B:
AAA: hi
CCC: blabla
BBB: morn
sollte nach dem Filtern nur mehr stehen:
AAA: hi
BBB:morn

Deswegen brauche ich die UND Verknüpfung, weil die Programme extra nach AAA u. BBB laufen zu lassen bringt etwas Verwirrung ins Log :-) ... und nur das können die mir genannten Programme für die ich übrigens recht dankbar bin *s*

Ich hoffe das damit alles klarer wird.
Bye

The_Lord_of_Midnight 06.09.2000 21:03

Hy Bofg,

die genannten Programme können eine ganze Menge und nicht nur das was man auf den ersten Blick sieht, denn unter Linux hat man ja das Konzept der sogenannten Regular Expressions. Das geht aber unter Windows nur mit einer Unix-Shell. Gibts auch zum downloaden, wenns Dir Spaß macht.

Eine Idee, wie man das mit einfachsten Mitteln realisieren könnte, wäre einfach die Zeilennummer mit der Option "-n" mitanzuzeigen:

D:\> grep -in aaa a.txt >b.txt
D:\> grep -in bbb a.txt >>b.txt
D:\> type b.txt
a.txt:1:AAA: hi
a.txt:3:BBB: morn

Ein etwas realistischeres Beispiel:

D:\WORK>type b.txt
a.txt:1:AAA: hi
a.txt:4:AAA: jo
a.txt:3:BBB: morn

D:\WORK>sort <b.txt
a.txt:1:AAA: hi
a.txt:3:BBB: morn
a.txt:4:AAA: jo

Wenn Dich die Dateinamen und Zeilennummern stören, kannst Du diese mit dem Unix-Kommando cut und der Option "-c" entfernen. In der Praxis wirst auch mit den Zeilennummern Schwierigkeiten haben, denn der Windows-Sort ist meines Wissens zu deppat für numerisches sortieren. Dazu kannst Du Dir den Unix-Sort holen, der kann mit der Option "-n" für numerisches Sortieren das Problem tadellos bewältigen. Oder wenn Du beim Windows-Sort bleiben willst, füll einfach ausreichend Leerzeilen in die Ausgangsdatei. Also wenn Du z.B. weniger als 9000 Zeilen Text hast, füll einfach 1000 Leerzeilen ein. Dann sind alle Textzeilen 4stellig, also im Bereich vom 1000-9999 und das packt sogar der äußerst schwache Windows-Sort. Wenn Du auch was gegen das manuelle Leerzeilen-Füllen hast, check Dir einen passenden Editor oder den Unix-Fill oder die Unix-Shell und schreib eine Loop.

Das war jetzt ein bißchen viel auf einmal, aber bei der guten alten Unix-Shell bin ich nicht mehr zu bremsen ;)

Schaffst es damit oder brauchst noch mehr Details ?

BOfH 11.09.2000 17:27

Danke für die Hilfe :-)
Ist eine gute Methode und haut für meine
Zwecke super hin !


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag