Even een poging voor het script ls2k_list :
De basisfunctie is een "ls -l" over de gehele mappenboom vanaf de huidige map gezien:
ls -lAR --full-time > k_list.txt
met de opties: -l voor het lange formaat
-A om ook verborgen bestanden mee te nemen
-R "recusief", neemt alle submappen mee
--full_time om de tijdstempel volledig weer te geven
Dit levert zoiets als output:
./etc.adam/xinetd.d:
totaal 6
-rw-r--r-- 1 track admin 563 2003-04-16 18:13 chargen
-rw-r--r-- 1 track admin 580 2003-04-16 18:13 chargen-udp
Dit moet nu nog dmv awk zodanig gefilterd worden dat de mapnaam (regel 1) even wordt vastgehouden,
niet relevante regels overgeslaan en de rest als bestandsregels netjes komma-gescheiden geprint worden.
Dat worden dus de volgende awk-commando's als filter in het bestand ls2k_list.awk :
{ if($0 ~ "^[.]") { # mapnaam:
m= "\"" $0; # vasthouden
sub(":$","\"",m); # formatteren
next;
}
else if(FNR==2) { # "totaal" patroon opnemen -> weg
n= $1;
next;
}
else if($1==n) next; # "totaal" herkend -> weg
else if($1=="") next; # lege regel -> weg
else if($2=="2") next; # mapnaam -> weg
else { # anders een bestandsnaam:
f= "";
for(i=9;i<=NF;i++) f= f " " $i; # verzamel de woorden van het bestand
sub("^ ","\"",f); # formatteren met ["]
f= f "\"";
print(m "," f "," $6, $7 "," $5 ","); # printen
} }
en dan moet je nog alles in een scriptje samen oproepen:
#! /bin/bash
ls -lAR --full-time | awk -f ls2k_list.awk > k_list.txt
(je moet het scriptje eerst "uitvoerbaar" maken uiteraard, en zowel het scriptje als het awk-bestand
moeten in de huidige map staan. Starten gewoon met een (dubbele) klik op het scriptje)
Je kunt nu het bestand "k_list,txt" naar OOo calc importeren:
- open OOo calc
- open via [invoegen] - "tabel vanuit bestand" - <navigeer naar het bestand>
- [tekstimport] instellen: [unicode (utf-8] , en [√] komma aanvinken !
- [ ok ]
Lukt het zover ?
track