Pagina 1 di 1
Script per Loris :)
Inviato: gio 12 ott 2006, 20:32
da Loris
Mi serve un piacere da voi guru degli script... ho bisogno di uno script che lanciato all'intero di una directory mi restituisca il numero dei permessi dei file contenuti, esempio ho diversi file 755, 644, 444, 555 a centinaia per intenderci e lo script deve solo mostrarmi il numero, anche se i file 755 sono tanti lui deve mostrarmi solo una volta il 755 così per tutti i file. Cosa mi proponete ?

Inviato: gio 12 ott 2006, 20:51
da ZeD
ammetto di non aver capito... hai come presupposto che i file all'interno di una directory gia' abbiano tutti quanti gli stessi permessi?
vuoi semplicemente un riassunto (tipo: 10 file con permessi tipo 755, 40 da 644, ecc)
o li vuoi tutti, ordinati "per diritti"?
comunque, come punto di partenza, potrei suggerire find...
, come puoi intuire, trova tutti i file (non directory, né di altro tipo) nella directory (quella corrente e basta), coi permessi 755
al limite metti i permessi in un ciclo, o adatta il tutto alla bisogna
Codice: Seleziona tutto
for permesso in 755 644 444 555; do
echo "file con permessi $permesso"
find -type f -maxdepth 1 -perm $permesso
done
Inviato: gio 12 ott 2006, 21:00
da MAT
L'idea di ZeD è buona. Mandato a wc -l con una pipe, il suo comando va benissimo.
Poi eventualmente aggiungi un maxdepth nel caso in cui tu voglia esplorare directory solo fino ad un certo livello di innestamento.
Inviato: gio 12 ott 2006, 21:26
da venerdi_12
A grandi linee una soluzione moolto grezza potrebbe essere creare tanti contatori quanti sono i permessi incontrati e poi
Codice: Seleziona tutto
P1=0 #permesso 444
P2=0 #permesso 445
......
Pn=0 #permesso n
comando_per_visualizzare permessi > PERM
permesso = `cat PERM`
for permesso in `Comando_per visualizzare_permessi`; do
if $permesso=444
let P1=$P1+1
fi
if $permesso=445
let P2=$P2+1
fi
...
if $permesso=n
let Pn=$Pn+1
done
echo P1
echo P2
sul file PERM bisognerebbe invocare il giusto sed per ottenere delle righe con solo la stringa con le tre cifre.
Il problema princiapale è che io non conosco un programma che visualizzi i permessi in modalità ottale. Forse ls, ma con quali opzioni?
Moolto sporco come metodo.
Inviato: gio 12 ott 2006, 22:44
da linus.bash
Aprire il file permessi con un editor ed utilizzare i filtri per le ricerche (openoffice).
La prima cosa che ho pensato...

Inviato: gio 12 ott 2006, 22:47
da Loris
MAT ha scritto:L'idea di ZeD è buona. Mandato a wc -l con una pipe, il suo comando va benissimo.
Poi eventualmente aggiungi un maxdepth nel caso in cui tu voglia esplorare directory solo fino ad un certo livello di innestamento.
Si infatti adesso uso proprio una stinga simile, forse uso il metodo più comodo e non me ne rendo conto...