"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."
[ Voor 34% gewijzigd door MissingDog op 02-05-2006 19:04 ]
@MissingDog - heb ik ook al aan gedacht, ik moet de pointer krijgen bij de eerste entry met de datum van vandaag. En dat gaat niet zomaar. Denk nu na over een workaround...
Na alle DOS commando's doorzoeken (ben ik niet zo in thuis) vond ik sort. Dit commando kun je gebruiken om, je raadt het al, bestanden te sorteren en te exporteren naar een bestand. Maar het sorteert alleen op A-Z en 0-9. Er is geen optie om, zonder verdere sortering, alle regels om te draaien (laatste regel wordt eerste, etc..)
[ Voor 27% gewijzigd door Reveller op 02-05-2006 19:44 ]
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."
Zoals gezegd, betreft het hier Apache logfiles die ik om moet keren. Die hebben geen regelnummersHunterPro schreef op dinsdag 02 mei 2006 @ 19:44:
tenzij je vooraf elke regel van regelnummer en een spatie voorziet, uiteraard
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."
dan zet je toch geautomatiseerd met een scripttaal als perl of php overal regelnummers voor, keer je em om met sort, en laat je daarna weer de regelnummers weghalen?Reveller schreef op dinsdag 02 mei 2006 @ 19:45:
[...]
Zoals gezegd, betreft het hier Apache logfiles die ik om moet keren. Die hebben geen regelnummers
Dank je! Ik heb net deze utils gedownload en geinstalleerd. Als ik via de command line het volgende uitvoer, werkt het perfect. access.log is een testbestandje van 8KB in de map test/ en wordt omgekeerd opgeslagen in access2.log:
1
| [Reveller] C:\Program Files\Apache\Apache2\htdocs\test$ tac access.log > access2.log |
Als ik hetzelfde via php probeer, wordt access2.log wel aangemaakt, maar het bestandje is 0KB groot. Met andere woorden: de data uit access.log wordt niet overgeschreven naar access2.log:
1
| passthru("tac access.log > access2.log"); |
Ik heb hetzelfde commando uitgevoerd via de php functies exec() en system(), maar dit levert hetzelfde (lege) resultaat op. Kan iemand met deze informatie vertellen of en zo wat ik verkeerd doe?
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."
Hou er overigens rekening mee dat die 'tac' ook gewoon alle regels gaat moeten doorlopen en dus ook gewoon heel die file doorploetert, los daar van denk ik / ben ik bang dat jouw "tac" commando gewoon de access.log niet kan lezen om wat voor reden dan ook en daarom die lege file creeert.
Heb je dat al gecontroleerd?
1
| echo `cat logfile.log`; |