Script per Loris :)
Moderatore: Staff
Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- Loris
- Admin

- Messaggi: 7731
- Iscritto il: lun 31 mar 2003, 0:00
- Nome Cognome: Loris Vincenzi
- Località: Gradisca D'Isonzo
- Contatta:
Script per 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 ?

"Ho una testa piuttosto balzana e comunque non sono quello che credete" - Roger Keith Barrett
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
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...
Codice: Seleziona tutto
find -type f -maxdepth 1 -perm 755al 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- MAT
- Linux 4.x

- Messaggi: 1242
- Iscritto il: mer 9 mar 2005, 0:00
- Nome Cognome: Matteo Magni
- Kernel: 2.6.20
- Desktop: Fluxbox
- Distribuzione: Gentoo
- Località: Vignola, Modena
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.
Codice: Seleziona tutto
find -type f -perm 755|wc -l- venerdi_12
- Packager

- Messaggi: 258
- Iscritto il: sab 9 lug 2005, 0:00
- Nome Cognome: Luciano Fattore
- Kernel: 3.0
- Desktop: kde-4.7.0
- Distribuzione: archlinux
- Località: Lusciano (Ce)
A grandi linee una soluzione moolto grezza potrebbe essere creare tanti contatori quanti sono i permessi incontrati e poi
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.
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
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.
- linus.bash
- Linux 3.x

- Messaggi: 976
- Iscritto il: ven 10 feb 2006, 12:58
- Località: Bologna
- Contatta:
Codice: Seleziona tutto
script log.permessiCodice: Seleziona tutto
ls -lCodice: Seleziona tutto
exitLa prima cosa che ho pensato...
- Loris
- Admin

- Messaggi: 7731
- Iscritto il: lun 31 mar 2003, 0:00
- Nome Cognome: Loris Vincenzi
- Località: Gradisca D'Isonzo
- Contatta:
Si infatti adesso uso proprio una stinga simile, forse uso il metodo più comodo e non me ne rendo conto...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.Codice: Seleziona tutto
find -type f -perm 755|wc -l
"Ho una testa piuttosto balzana e comunque non sono quello che credete" - Roger Keith Barrett
