Newsgroup: it.comp.macintosh
Titolo: Re: Editing di un file di testo...


io importerei in un foglio di calcolo e poi giocherei con le
colonne...
se pero' e' una cosa che devi fare spesso fai uno scriptino in perl
--
ilnonno

 Help...
Non sarà il massimo dell'eleganza ma fa quello che chiedi:
 
awk '{print $8 " " $6 " " $7 " " $1 " " $2 " "  $3 " " $4 " "  $5 " "  $9 " " $10 }' log.txt >> nuovilog.txt
ciao
-- 
I'm trying a new usenet client for Mac, Nemo OS X.
You can download it at 
http://www.malcom-mac.com/nemo


rotfl... awk non lo conosco che per sentito dire
--
ilnonno

 riposizionarli in un altro punto della riga?
Uno script Perl/Python/Ruby/TCL a seconda di quello che conosci.
Gli altri ti consigliano awk: se lo conosci, va benissimo pure lui.
Io suggerisco uno di cui sopra perchè una volta imparati oltre a fare il
mestiere di Awk fanno un sacco di altre cose.
In particolare l'oggetto di cui sopra con le regex lo fai in un
petosecondo (eventualmente uccidendo anche i caratteri separatori che
non ti servono o quanto d'altro).
-- 
blog:  
http://www.akropolix.net/rik0/blogs
 | Uccidete i filosofi,
site:  
http://www.akropolix.net/rik0/
      | tenetevi riso e
forum: 
http://www.akropolix.net/forum/
     | bacchette per voi.

 petosecondo (eventualmente uccidendo
con il peto, ovviamente :)
-- 
Facile essere partigiani; per essere obbiettivi invece e' richiesto
uno sforzo intellettivo superiore allo zero.

 Aiuto.
Se sei più preciso te lo butto giù io. È l'equivalente di un oneliner
Perl, per capirci.


 Uno script Perl/Python/Ruby/TCL a seconda di quello che conosci.
Ad esempio, in Python, scrivi puppo.py :
import fileinput
altropunto = 69   # o che altro a piacere
for line in fileinput.input('ilmiofile.txt', inplace=True):
    print line[25:altropunto]+line[:25]+line[altropunto:]
ed esegui da terminale
python puppo.py
Perl e` piu` conciso (con un perl -nie "..." sicuramente ti stara` tutto
su una riga sola), Tcl meno, Ruby tipicamente una via di mezzo fra Perl
e Python.  Ma il concetto non cambia molto in ciascuno caso (conviene ad
esempio avere il nome del file da elaborare come parametro, non fissarlo
a una costante come ho fatto io qui a scopo illustrativo:-).
Alex

 ho fatto due prove e no cambia una cippalippa
Perché invece del log non gli dai il relativo report in html di awstats?
Se a te funziona...
-- 
Per contattarmi:
http://formmailto.com/saltydog

> Aiuto.
ma hai provato quello che ti ho scritto?

 Si, al volo ieri, ma mi produce un file illeggibile...
??.. io l'ho provato sul testo che hai fornito tu, e produce esattamente 
quello che chiedi. Comunque l'esempio per awk è facilmente modificabile, 
tieni presente che ogni campo del file è rappresentato in awk da  $1 $2.. 
in maniera sequenziale. L'unica cosa da stare attenti è se il file presenta 
sempre gli stessi campi, se è così non dovresti avere problemi (attenzione 
a come è formattato a livello di testo ..è un file mac, unix, windows ?).
ps " " ti serve per rappresentare velocemente lo spazio vuoto, altrimenti 
awk te li unisce tutti senza spazi).
Quindi
[Fri Oct 21 15:54:56 2005] - - 192.168.1.25 "GET /pagineweb.html" $1  $2  $3   $4     $5   $6 $7   $8          $9   $10
adesso dovrebbe essere facile per te modificare l'ordine in cui vuoi ti
appaiono.
