Technician Geschrieben 18. November 2002 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
kiva Geschrieben 18. November 2002 Geschrieben 18. November 2002 hi, probiers mal mit manuellseite (villeicht findest du was) man grep fals nicht schreib dir ein perl script
Technician Geschrieben 18. November 2002 Autor 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
Wolle Geschrieben 18. November 2002 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....
Sumpfbiber Geschrieben 19. November 2002 Geschrieben 19. November 2002 du musst die Zeichenfolge einfach mit quotes belegen. Gruß Sumpfbiber
kiva Geschrieben 19. November 2002 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
Technician Geschrieben 20. November 2002 Autor 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!?
Technician Geschrieben 20. November 2002 Autor 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...
Sumpfbiber Geschrieben 20. November 2002 Geschrieben 20. November 2002 Originally posted by Technician Mit Quotes belegen?! :confused: Was bedeutet das!? grep "suchtext bla bla"
Technician Geschrieben 20. November 2002 Autor 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
readonly Geschrieben 20. November 2002 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
nic_power Geschrieben 20. November 2002 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
Nachtgeist Geschrieben 21. November 2002 Geschrieben 21. November 2002 egrep '^(.){8}test' <datei> also alles kein Drama ...
Technician Geschrieben 21. November 2002 Autor Geschrieben 21. November 2002 Danke! Werd mir das mal anschauen! Grüße, Technician
Technician Geschrieben 21. November 2002 Autor 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
Technician Geschrieben 21. November 2002 Autor Geschrieben 21. November 2002 sed -ne '/^.\{8\}test.*/p' <deine_datei> Danke nochmal für die Hilfe!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden