PDA

Visualizza versione completa : Espressioni Regolari



beatoangelico
13-02-2009, 11.29.33
Salve a tutti,
ho un problema con le espressioni regolari all'interno della Console (il gestore dei log non il terminale).
Avrei bisogno di creare una interrogazione su tutti i Log che mi consenta di filtrare il campo mittente.
ES:
13/02/09 11:05:16 /System/Library/CoreServices/backupd[750] Starting post-backup thinning
13/02/09 11:05:17 /System/Library/CoreServices/backupd[750] Deleted backup /Volumes/My Book/Backups.backupdb/Nick/2009-02-12-110250: 431.06 GB now available
13/02/09 11:05:17 /System/Library/CoreServices/backupd[750] Post-back up thinning complete: 1 expired backups removed
13/02/09 11:05:18 /System/Library/CoreServices/backupd[750] Backup completed successfully.
13/02/09 11:08:40 /usr/sbin/ocspd[756] starting
13/02/09 11:12:21 DashboardClient[763] ABPlugin initialized
13/02/09 11:12:21 [0x0-0xe00e].com.apple.dock[620] 2009-02-13 11:12:21.180 DashboardClient[763:10b] ABPlugin initialized
13/02/09 11:12:26 DashboardClient[765] (com.iSlayer.iStatpro4.widget) file:///Users/nick2k3/Library/Widgets/iStat%20pro.wdgt/scripts/core.js: TypeError: Value undefined (result of expression this.isSectionEnabled) is not object. (line: 516)
13/02/09 11:12:26 [0x0-0xe00e].com.apple.dock[620] 2009-02-13 11:12:26.288 DashboardClient[765:10b] (com.iSlayer.iStatpro4.widget) file:///Users/nick2k3/Library/Widgets/iStat%20pro.wdgt/scripts/core.js: TypeError: Value undefined (result of expression this.isSectionEnabled) is not object. (line: 516)

da questo insieme di log vorrei filtrare in modo da escludere qualsiasi cosa abbia a che fare con la Dashboard.
purtroppo sono costretto a farlo tramite espressione regolare perchè le selezioni "smart" del programma si limitano a Contiene, iniza con etc...(costava tanto mettere un NOT???)
Da quel poco che so di espressioni regolari avevo pensato a :
[^D][^a][^s] e cosi via fino a tutta la parola ma purtroppo non funziona.
Chi mi sa dare una mano?

AmeR
14-02-2009, 10.44.43
Regular Expression HOWTO (http://www.amk.ca/python/howto/regex/)
Speaking UNIX, Part 9: Regular expressions (http://www.ibm.com/developerworks/aix/library/au-speakingunix9/)
Regular Expressions (http://www.pete.peterbenjamin.com/seminars/regexp/regular.expressions.lesson1.html)
eccetera eccetera

Non funziona perchè ci sono i timestamp, devi dirgli di parsare ogni stringa che inizia con un qualsiasi numero di due cifre seguito da uno slash / seguito da un altro numero 0-9 di due cifre, eccetera eccetera. ^[0-9]*+\/ .
Se il log è un file, ti basta fare cat /private/var/log/system.log | grep -E Dashboard
Se vuoi scriver l' output su di un file: cat /private/var/log/system.log | grep -E Dashboard > log.txt.

Black Dog
17-02-2009, 19.41.58
Con un copia incolla e 4 righe di php faccio prima che imparare le regular expression :D