Ci sono vari modi per inserire dei dati in un file di testo in un database (mySQL).
Un’ottima e semplice funzione è mysqlimport.

shell> mysqlimport [options] db_name textfile1 [textfile2 ...]
For each text file named on the command line, mysqlimport strips any extension from the filename and uses the result to determine the name of the table into which to import the file’s contents.

Il mio esempio con un po’ di flag importanti:

sim@idrogeno:~/dati$ mysqlimport –local –fields-terminated-by=, –lines-terminated-by=”\n” $nome_db $file_txt –columns=campo1,campo2,campo3,campo9 -v –user=xxx -p
Enter password:
Connecting to localhost
Selecting database agenda
Loading data from LOCAL file: /home/sim/dati/$file_txt into $file_table
$nome_db.$file_table: Records: 61 Deleted: 0 Skipped: 0 Warnings: 1
Disconnecting from localhost

Ops. Mi sono accorto che non ho mai fatto un post riguardante il partizionamento/la formattazione su Linux.
E’ una cosa molto semplice ed essenziale, che tanto vale sapere.
Ci sono per altro milioni di guide sul web, quindi sarò breve.

La formattazione del disco (fisso o usb che sia) avviene essenzialmente in due passaggi: in primis è necessario partizionare il disco, poi si formatta l’area partizionata.

Il partizionamento io lo faccio da terminale con fdisk principalmente perchè la cosa è talmente semplice da non richiedere chissà quale GUI.
Facendo puntare fdisk ad un device (es.: #fdisk /dev/sdc ) si possono utilizzare i seguenti comandi:

  • m per l’help
  • p per stampare la partition table del device
  • n per creare una nuova partizione (procedura guidata)
  • d per cancellare una partizione presente
  • w o q per terminare fdisk salvando o meno la nuova partition table

Partizionato il disco, è necessario formattare. Per formattare è necessario sapere che tipo di formattazione si vuole utilizzare, il che dipende dal tipo di sistema che vogliamo legga il filesystem del disco partizionato.

I filesystem delle box linux normalmente sono ext3, o reiser. Le chiavette puo’ essere una buona idea formattarle in vfat, visto che è un formato leggibile tanto da Linux quanto da Windows. Wikipedia fornisce diverse pagine di spiegazioni riguardanti i filesystem, liste e confronti fra i vari tipi.

Per formattare i dischi si usa mkfs, che crea i filesystem. Invece che avere delle flag da attivare, mkfs ha una serie di builders denominati mkfs.il_tipo_di_fs.

idrogeno:/media# mkfs [TAB]
mkfs mkfs.cramfs mkfs.ext3 mkfs.ext4dev mkfs.msdos
mkfs.bfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat

Dunque per formattare una chiavetta /dev/sdc in fat appena partizionata con fdisk dovremo digitare:

# mkfs.vfat /dev/sdc1

E il gioco è fatto.

Dopo un tot di sbattimento per sistemare il server X 3D su kripton, ho ben deciso di provare anche Compiz per togliermi la voglia.

compiz cubo compiz plain compiz gommoso

Dopo un po’ di smanettamenti, ho trovato un’interfaccia un po’ più comoda per settare e capire Compiz: compizconfig-setting-manager.
Nel caso a qualcuno interessi.

Comunque…

  • Una cosa sicura che Compiz fa, è realizzare vere trasparenze, il che è molto bello nel caso dei terminali (Edit -> Current profile -> Effects), ma non so quanto ne valga la pena.
  • Con CTRL+ALT tenuti premuti assieme e clickando col mouse si fa girare il cubo.
  • CTRL+ALT+freccia giu’ mi permette di vedere 3 facce del cubo come se fossero spiattellate (foto #2). Questa mi sembra potenzialmente utile permettendo di vedere cosa c’e’ a colpo d’occhio su tutti i desktop.
  • CTRL+ALT+frecce laterali mi permette di switchare fra i vari desktop in maniera dinamica (se ci si aggiunge lo SHIFT sposta l’oggetto selezionato nei desktop accanto).
  • Tenendo premuto il tasto speciale (nel mio caso la bandierina windowzozza) e girando la rotellina del mouse posso zoomare nella finestra.
  • Ora se trascino gli oggetti fanno l’effetto gommoso assai fico, ma in realta’ alla lunga mi reca fastidio perchè l’adattamento delle finestre fra di loro e coi bordi dello schermo mi sembra meno preciso.
  • ALT+TAB mi permette di accedere ad un’anteprima in barra (Mac style) interessante: questo è un effetto bello e volendo utile, ma mi ci devo ancora abituare.
  • Avvicinandosi col mouse all’angolo alto e a destra del monitor, gli oggetti nel desktop si riordinano e normalizzano le dimensioni, e uno puo’ essere scelto col mouse in modo da portarlo in primo piano rispetto agli altri. Idem se uso SHIFT+ALT+freccia in alto.

Io l’ho trovato curioso, ma come moltissimi eye-candy… lascia il tempo che trova (dopo i primi 5 minuti di infuoco).

compiz final

Ok, questo post è una vaccata, pero’ io sono esaltato e quindi lo scrivo. ^_^

In primis: creare tabelle per pagine *HTML è una cosa frequente, utile, ma anche estremamente pallosa. A me capita spesso, e cerco sempre di farlo nella maniera piu’ dinamica possibile (php e scriptini vari con cicli for/while/altro).

Secondariamente, io adoro platonicamente awk. Dal momento in cui l’ho incontrato, l’ho sempre trovato estremamente potente e versatile, come la maggioranza degli strumentini da terminale (tr, sed, ecc.) che pochi sanno usare, ma che sarebbero utili al 100% delle persone che lavorano col pc, almeno una volta nella vita.
Ovviamente l’utilizzo di questi strumenti passa un po’ in secondo piano se si sa manipolare bene i dati con perl… ma questa e’ un’altra storia. :)

Questa storia invece parla di una tabella di dati come tante in formato:

1,campo1a,campo1b,campo1c,campo1d;
2,campo2a,campo2b,campo2c,campo2d;
3,campo3a,campo3b,campo3c,campo3d;
[...]

e di una mitica riga di awk (+sed) che la trasforma in una perfetta tabellozza html:

awk ‘BEGIN {FS = “,” ; TAG = 5 ; print “<html>\n<head>\n\t<title>Titolo pagina html</title>\n</head>\n<body>\n<h3>Titolozzo visibile</h3>\n<table border=\”1\” cellpadding=\”5\”>\n<tr bgcolor=\”darkgrey\”> <th>&nbsp;</th> <th>header_a</th> <th>header_b</th> <th>header_c</th> <th>header_d</th> </tr>”}

{print “<tr “; if ($1 % TAG == 0) print “bgcolor=\”lightgrey\”" ; print “> <td>”$1″</td> <td>”$2″</td> <td><b>”$3″</b></td> <td>”$4″</td> <td>”$5 }

END { print “</table>\n</body>\n</html>”}’ dati.txt | sed -e ’s/;/<\/td> <\/tr>/’ > pagina_table.html

Insomma, a me sta riga piace tantissimo: legge i dati, li mette nel codice html, ha una piccola condizione per rendere la tabella piu’ leggibile ogni 5 righe (cambiare TAG per cambiare l’intervallo di evidenziazione)…
Fantastico.

PS: Sì, lo so che l’uso dell’attributo bgcolor è deprecato e andrebbero usati i CSS… Beh, non ci vuole poi tanto a mettere una classe al posto della mia stringa. ;-)

Promemoria: quando faccio lo sborone e installo tutto con apt-get (non dselect) devo almeno ricordarmi che nel caso dei Desktop Environment è meglio usare *-core.

  • gnome – “This is the GNOME Desktop environment, an intuitive and attractive desktop, with extra components.
    This package depends on the standard distribution of the GNOME desktop environment, plus a complete range of plugins and other applications integrating with GNOME and Debian, providing the best possible environment to date.”
  • gnome-core – “These are the core components of the GNOME Desktop environment, an intuitive and attractive desktop.
    This package depends on a basic set of programs, including a file manager, an image viewer, a text editor and other basic tools.”

Nel caso di gnome, 15 programmini contro… 42.

Installazioni minimali

Ho scoperto una cosa che non sapevo ancora: Outlook tende a codificare gli attachment in una sua maniera.
Il formato proprietario è il Transport Neutral Encapsulation Format (wiki).

Comunque sia, la buona debian ci fornisce un ottimo:

# apt-get install tnef

che ci permette di decodificare gli attachment di Outlook (con l’opzione -f per indicare il file in input).

Buono a sapersi, se vi ritrovate dei winmail.dat per le mani.

Altre info: tud.at/php/tnef/index.php

[...]No need to flame innocent Outlook users anymore because of their moronic mail software. Find another reason to flame them.[...]

:-D
Eh… Pero’ raga, prendetevi Thunderbird/Icedove dai su.

Che palle quando gli host su cui tocca lavorare hanno un orario diverso l’uno dall’altro.
Le discrepanze fra i log sono davvero rognose.
Fortuna che c’e’ il Network Time Protocol daemon.

Il programma ntpd è un demone che mantiene sincronizzato il local system time con l’orario di alcuni server su Internet che hanno modo di controllare l’ora in maniera precisa (orologi atomici, GPS, ecc).
Generalmente il demone legge la configurazione in /etc/ntp.conf allo startup e sincronizza il tempo su dei server sorgenti.

« Previous Articles    
SIMOTRONE WEB PAGE is based on WordPress platform, RSS tech , RSS comments design by Gx3.