PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datum an den Beginn einer jeden Zeile



Jorge
06-08-2007, 15:12
Hallo zusammen,

da ich mir ein eigenes Festplattenkapazitätstool basteln muss sammle ich derzeit die relevanten Daten Nachts über einen du Aufruf, welcher mir die Daten in eine Textdatei schreibt. Derzeit pflege ich diese Daten von Hand in ein Excelsheet ein um damit dann eine entsprechende Auswertung (eigentlich nur grafisch) fahren zu können. Bei den derzeit knapp 200 Homlaufwerken artet das aber in tägliche Arbeit aus.

Nun habe ich mir gedacht, dass ich mir eine MySQL Datenbank baue, in der für jedes Dateisystem eine entsprechende Tabelle existiert, so nach diesem Motto:



mysql> describe samba_home;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| datum | date | YES | | NULL | |
| groesse | varchar(10) | YES | | NULL | |
| share | varchar(50) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+

Das eigentliche befüllen der Tabelle ist nicht das Problem, einzig hätte ich gerne einen Kniff gewusst, wie ich dem du Output vor jede Zeile eine Datumsangabe voranstelle. Derzeit sieht der "du" Output so aus:



2829992 /home/user1
1396744 /home/user2
1629096 /home/user3


Aussehen sollte es aber z.B. so:



2007-08-05 2829392 /home/user1
2007-08-05 1398744 /home/user2
2007-08-05 1609096 /home/user3


Wie füge ich also das Datum gefolgt von einem Tabulator in die Dateien ein? Bin über jegliche Hinweise dankbar, da ich erst am Beginn stehe, was Scripting angeht, also habt etwas nachsicht mit mir ;)

BLUESCREEN3D
06-08-2007, 16:10
Wie füge ich also das Datum gefolgt von einem Tabulator in die Dateien ein? Bin über jegliche Hinweise dankbar, da ich erst am Beginn stehe, was Scripting angeht, also habt etwas nachsicht mit mir ;)
Dafür gibt es viele Wege. Zum Beispiel so:

sed -e "s/^/$(date +%F)"$'\t/' deine_datei > neue_datei

BTW: Ich würde in der MySQL-Tabelle in keiner der Spalten NULL-Werte erlauben.

jan61
06-08-2007, 16:39
Warum überlässt Du das nicht das Datenbank, indem Du beim insert eine Funktion nutzt (now() oder current_date)?

Um noch eine Script-Variante beizusteuern:
awk -v datum=`date +%F` ' { printf "%s\t%s\n", datum, $0; } ' datei >neue_dateiJan

Jorge
06-08-2007, 16:46
Warum überlässt Du das nicht das Datenbank, indem Du beim insert eine Funktion nutzt (now() oder current_date)?


Um ehrlich zu sein, weil ich keine Ahnung habe! Ich stehe wie gesagt ganz am Anfang was Skripting und MySQL angeht. Ich dachte mir, dass dieses Vorhaben ein guter Einstieg sein könnte.




Um noch eine Script-Variante beizusteuern:
awk -v datum=`date +%F` ' { printf "%s\t%s\n", datum, $0; } ' datei >neue_dateiJan

Dann sage ich mal Danke für die beiden Varianten.