sabato 20 ottobre 2007

script per fare il file di testo DB

l'output di rfdir di una cartella castor e' il seguente:

-rw-r--r-- 1 govoni zh 7547831 Oct 13 19:51 preSelected_0.3_0.4_.root
-rw-r--r-- 1 govoni zh 7578728 Oct 13 19:46 preSelected_0.6_0.7_.root
-rw-r--r-- 1 govoni zh 7469746 Oct 13 19:46 preSelected_2.3_2.4_.root
-rw-r--r-- 1 govoni zh 7269604 Oct 13 19:46 preSelected_2.9_3_.root

sostituendo gli "_" con spazi si ottiene:

-rw-r--r-- 1 govoni zh 7547831 Oct 13 19:51 preSelected 0.3 0.4 .root
-rw-r--r-- 1 govoni zh 7578728 Oct 13 19:46 preSelected 0.6 0.7 .root
-rw-r--r-- 1 govoni zh 7469746 Oct 13 19:46 preSelected 2.3 2.4 .root
-rw-r--r-- 1 govoni zh 7269604 Oct 13 19:46 preSelected 2.9 3 .root

dove la nona colonna e' "preSelected", la decima e' etaStart, la undicesima e' etaEnd, la dodicesima e' "_.root". (Attenzione all'ultimo "_", e' messo apposta per facilitare questo script).

Quindi, scrivo:

rfdir $CASTOR_HOME/ECALCalib/AlCa/test | tr "_" " " | awk '{print $10" "$11" "$9"_"$10"_"$11"_"$12}' > db.txt

dove il comando "tr" sostituisce un singolo carattere, mentre awk stampa a schermo per ogni riga le colonne ed il ">" alla fine serve per deviare l'output su u file, che risulta essere:

0.3 0.4 preSelected_0.3_0.4_.root
0.6 0.7 preSelected_0.6_0.7_.root
2.3 2.4 preSelected_2.3_2.4_.root
2.9 3 preSelected_2.9_3_.root

PS : i file che adesso sono nel mio castor non sono esattamente come dico, perche' ho modificato lo script che li genera per cambiarne il formato del nome.

Nessun commento: