![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.213
|
Ich habe das Problem, dass ich via vi eine große Datei (2,2 GB) öffnen will, weil ich eine bestimmt Zeile suche, bzw. wissen muss, in welcher Zeile der Eintrag steht. wenn ich aber Code: vi datei Jemand eine Idee? Also letztlich geht es mir darum, dass ich aus der Datei (logilfe) die letzten x Zeilen brauche, ich aber noch nicht weiß, wieviele genau das sind, andernfalls würde ich das mit tail machen, aber dafür muss ich erstmal wissen, in welcher Zeile der erste der gesuchten Einträge ist...
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
| | |
| | Nach oben #2 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
|
tail -fn [Anzahl der Zeilen] /path/to/log das sollte dir helfen... n ist anzahl der letzten Zeilen und f ist einfach nur fortlaufend, sprich du bekommst die neusten Einträge gleich mit ausgegeben in "Echtzeit"
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #4 | |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.213
| ja - im Prinzip ist es das, was ich will - nur eben erst in dem Schritt danach! Ich muss ja erst wissen, wieviele Zeilen ich haben will... da bin ich halt noch bei das raus zubkommen! Zitat:
Code: awk '/Nov/ {f=NR;l=$0}END{print f l;}' /srv/apache2/logs/datei.log
awk: cannot open /srv/apache2/logs/datei.log (File too large)
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! | |
| | |
| | Nach oben #5 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
| Code: grep -rin -A 5 -B 2 "Lustiger Suchstring"
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #6 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.213
|
ich habe das jetzt so gelöst, dass ich einfach mit tail x Zeilen ausgegeben habe und diese dann in eine temp-Datei geschrieben habe. Mittels head dann geschaut ob der Zeitraum dann schon passt.... Das erschien mir nun das einfachste. Code: tail -n 800000 datei.log > temp.log head -n 1 temp.log
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
| | |
| | Nach oben #8 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
|
ich glaub nur die Zeit... er war schneller als ich
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #9 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.213
| weil mir - so dachte ich - nicht wichtig genug war in welcher Zeile exakt das war, sondern mir war wichtig, dass ich auf jeden Fall alle Zeilen danach noch erwischte. @Martin: Ich verstehe nicht, was du mir damit sagen wolltest.
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
| | |
| | Nach oben #10 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
| Ich hatte nur die Vermutung, dass du schon fertig warst mit deinen Versuchen, als ich noch die Lösung per grep gepostet hab. Deswegen meinte ich, dass ich halt zu spät gepostet hab, um dir noch eine "bequemere" Lösung zu ermöglichen.
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #11 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.213
|
Ich nutze diesen thread mal für ein Problem, dass dem oben genannten recht ähnlich ist. Mit head oder tail kann man über die Option -n ja eine gewisse Menge an Zeilen ausgeben lassen. Jedoch ist dann zwangsweise immer der Anfang oder das Ende mit dabei. Ich suche gerade nach einer Lösung, dass ich Zeile x bis Zeile y aus einer Datei ausgeben lassen kann. Es muss nichts automatisiert werden, ich werde das mit der Hand machen, weil es was 'einmaliges' sein wird. Jemand eine Idee?
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
| | |
| | Nach oben #12 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.213
|
Mir kommt gerade die Idee das mittels head und tail zu lösen, indem das kombiniert wird. Allerdings wäre das doch heftig überladen, wenn ich nur wenige Zeilen aus einer paar-GB-großen Datei heraus holen möchte.
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
| | |
| | Nach oben #13 | |
| Erfahrener Benutzer Registriert seit: 31.12.2006 Ort: Zürich
Beiträge: 298
| Zitat:
Zeilen 99 und 100: Code: head -n100 /var/log/mail.log | tail -n2 /var/log/mail.log Code: head -n500 /var/log/mail.log | tail -n10 /var/log/mail.log
__________________ . <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination. | |
| | |
| | Nach oben #14 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.213
|
Die Angabe der Datei bei tail kann entfallen, da die Daten für tail ja bereits über die pipe von head kommen. Ich habe das aber auch genauso gelöst. Nun bin ich noch dabei das in eine Funktion zu packen, damit ich nicht die Differenz sondern die absolute Zeilenangabe eingeben kann. // edit: noch steckt es in einer Shell-Datei, die Funktionalität muss daher auch über diese Datei aufgerufen werden... Code: #!/bin/sh #=============================================================# # Beschreibung: Ausgeben einer Datei von Zeile x bis Zeile y # # Author: Jann Hendrik Bekaan # # Datum: 02.05.2008 # #=============================================================# file=$1 start=$2 stop=$3 if [ $start -gt $stop ] ; then echo "start groesser als stop" elif [ $start -eq $stop ] ; then echo "start gleich stop" else start=$(($2-1)) diff=$(($stop-$start)) head -n $stop $file | tail -n $diff fi
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! Geändert von Jann Hendrik (05.05.2008 um 10:59 Uhr). |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Datei über FTP-Funktionen erstellen | Jan | PHP-Programmierung | 1 | 08.03.2007 20:36 |
| [PHP] FTP-Funktionen in PHP nutzen | MrNiceGuy | Tutorials | 0 | 24.05.2006 14:18 |
| Textausgabe in Datei | obiwankenobi | Allgemeine Java-Programmierung | 2 | 09.05.2005 12:51 |
| Frage zum öffnen einer Datei | koegl | Allgemeine Java-Programmierung | 2 | 04.04.2005 07:55 |
| Java findet Datei nicht | Niki_Tesla | Allgemeine Java-Programmierung | 14 | 14.12.2004 22:31 |