Veröffentlicht 18. November 200222 j Hallo, wie kann ich eine Datei zeilenweise nach einer Zeichenfolge durchsuchen (wie grep), dabei aber die Position der Zeichenfolge mit berücksichtigen? Es handelt sich hier um Dateien der Größenordnung 2000 - 8000 Zeilen, von diejenigen ausgegeben/in eine neue Datei geschrieben werden sollen, bei denen die Zeichenfolge von x bis y einen bestimmten Wert hat. Ich hoffe, ihr könnt mir da weiterhelfen! Grüße, Technician
18. November 200222 j hi, probiers mal mit manuellseite (villeicht findest du was) man grep fals nicht schreib dir ein perl script
18. November 200222 j Originally posted by kiva hi, probiers mal mit manuellseite (villeicht findest du was) man grep fals nicht schreib dir ein perl script Hi, ich bin neu in UNIX und manuellseite (man grep) sagt mir gar nix Perl bringt übrigens nix - wenn, dann UNIX-Script... Gruß, Technician
18. November 200222 j Originally posted by Technician ich bin neu in UNIX und manuellseite (man grep) sagt mir gar nix Einfach mal "man grep" in der Konsole eingeben. Das liefert dir die Beschreibung zum grep-Befehl (geht natürlich auch mit anderen Befehlen). Zu deinem Problem: grep -n liefert dir die Zeilennummer dazu....
19. November 200222 j hi, warum sollte perl nichts bringen ? mit perl kann man wunderbar textdatein nach bestimmten textpasagen oder Zeichenfolgen (funktioniert sogar mit wildcats) durchsuchen un die in eine neue datei schreiben. Gruß kiva
20. November 200222 j Originally posted by Sumpfbiber du musst die Zeichenfolge einfach mit quotes belegen. Gruß Sumpfbiber Mit Quotes belegen?! :confused: Was bedeutet das!?
20. November 200222 j Hi Kiva, Originally posted by kiva hi, warum sollte perl nichts bringen ? mit perl kann man wunderbar textdatein nach bestimmten textpasagen oder Zeichenfolgen (funktioniert sogar mit wildcats) durchsuchen un die in eine neue datei schreiben. Gruß kiva Mir ist bekannt, dass Perl sowas kann - nur sollte das Problem nach Möglichkeit nur mittels Unix-Skript gelöst werden...
20. November 200222 j Originally posted by Technician Mit Quotes belegen?! :confused: Was bedeutet das!? grep "suchtext bla bla"
20. November 200222 j Originally posted by Sumpfbiber grep "suchtext bla bla" Gut. Den normalen grep-Befehl kenne ich. Aber ich möchte nicht einfach die Zeile(n) ausgeben, die "suchtext bla bla" enthalten, sondern die Zeilen, die zuerst z.B. 8 (beliebige) Zeichen enthalten, und dann "suchtext bla bla". Z.B., wenn mein Suchtext "test" ist, dann sollen die Zeilen zur Ausgabe gehören abcdefghtest wlerinittest 28weoUjotest weil hier immer acht beliebige Zeichen (vom Zeilenanfang her gezählt) vorkommen, danach der Text "test". Nich haben will ich z.B. xytest test skeiriwrpwi259wleookjtest sorry, vielleicht war nicht gleich klar, wie ich das meinte... Grüße, Technician
20. November 200222 j Wie wäre es mit regex? Unter Perl sollte es der etwa wie folgt aussehen. [\w]{8}test - 8 beliebige Zeichen gefolgt von test Ähnliches sollte auch mit grep möglich sein, oder Du nutzt halt awk, welches eigentlich auf jedem Unix System zu haben ist. Damit kann man solche Probleme auch sehr schön lösen. Wie immer ist man awk Dein erster Freund und Helfer. readonly
20. November 200222 j Originally posted by readonly Ähnliches sollte auch mit grep möglich sein, oder Du nutzt halt awk, welches eigentlich auf jedem Unix System zu haben ist. Ist moeglich, zumindest die Linux-Variante kennt die Option "-e" der mal als Parameter eine regexp uebergibt. Nic
21. November 200222 j Originally posted by Nachtgeist egrep '^(.){8}test' <datei> also alles kein Drama ... von den Zeilen 12345678testeeirweri wertestwerer66 abcdefghtest test a werden mir damit die ersten drei ausgegeben. Die zweite Zeile gehört aber nicht zu denen, die ich haben will - denn da stehen vor "test" nur drei Zeichen... Ach ja, wen interessiert, auf welchem UNIX ich drauf bin: HP-UX Release 11.0 (October 1997) Gruß, Technician
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.