Technician Geschrieben 18. November 2002 Teilen Geschrieben 18. November 2002 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kiva Geschrieben 18. November 2002 Teilen Geschrieben 18. November 2002 hi, probiers mal mit manuellseite (villeicht findest du was) man grep fals nicht schreib dir ein perl script Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Technician Geschrieben 18. November 2002 Autor Teilen Geschrieben 18. November 2002 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 18. November 2002 Teilen Geschrieben 18. November 2002 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.... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sumpfbiber Geschrieben 19. November 2002 Teilen Geschrieben 19. November 2002 du musst die Zeichenfolge einfach mit quotes belegen. Gruß Sumpfbiber Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kiva Geschrieben 19. November 2002 Teilen Geschrieben 19. November 2002 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Technician Geschrieben 20. November 2002 Autor Teilen Geschrieben 20. November 2002 Originally posted by Sumpfbiber du musst die Zeichenfolge einfach mit quotes belegen. Gruß Sumpfbiber Mit Quotes belegen?! :confused: Was bedeutet das!? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Technician Geschrieben 20. November 2002 Autor Teilen Geschrieben 20. November 2002 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... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sumpfbiber Geschrieben 20. November 2002 Teilen Geschrieben 20. November 2002 Originally posted by Technician Mit Quotes belegen?! :confused: Was bedeutet das!? grep "suchtext bla bla" Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Technician Geschrieben 20. November 2002 Autor Teilen Geschrieben 20. November 2002 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
readonly Geschrieben 20. November 2002 Teilen Geschrieben 20. November 2002 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nic_power Geschrieben 20. November 2002 Teilen Geschrieben 20. November 2002 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nachtgeist Geschrieben 21. November 2002 Teilen Geschrieben 21. November 2002 egrep '^(.){8}test' <datei> also alles kein Drama ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Technician Geschrieben 21. November 2002 Autor Teilen Geschrieben 21. November 2002 Danke! Werd mir das mal anschauen! Grüße, Technician Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Technician Geschrieben 21. November 2002 Autor Teilen Geschrieben 21. November 2002 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Technician Geschrieben 21. November 2002 Autor Teilen Geschrieben 21. November 2002 sed -ne '/^.\{8\}test.*/p' <deine_datei> Danke nochmal für die Hilfe! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.