Live Support My forum, my way! Il forum dei newsgroup: Linux » Lista folder in formato testo
My forum, my way! Il forum dei newsgroup
Fast Uncompromising Discussions.Newsgroup FUDforum will get your users talking.

Loading
Utenti      F.A.Q.    Registrati    Login    Home
Home » Computer » Linux » Lista folder in formato testo
Lista folder in formato testo [messaggio #39657] lun, 20 giugno 2011 16:42 Messaggio successivo
Pictor  è attualmente disconnesso Pictor
Messaggi: 18
Registrato: gennaio 2011
Junior Member
Ciao,

sto cercando di generare un file CSV (Comma Separated Value) che
contenga tutte le sottodirectory (no file) di una directory radice,
corredato di alcuni attributi.

Vorrei che ogni riga del file sia in formato

Directory; GruppoUtenti; AccessLists;
(eventualmente)ListaUtentiDelGruppo

Sto lavorando su questo comando ma non riesco a farlo funzionare.

find $DIRECTORYROOT -type d execdir "stat --printf '%N;%G;%A;%C\n'
" +


Così com'è mi restituisce l'errore

find: paths must precede expression

Ma non capisco perché.
Cosa devo correggere?



tag: print export directory folder list to csv excel spreadsheet
Re: Lista folder in formato testo [messaggio #39658 è una risposta a message #39657] lun, 20 giugno 2011 16:58 Messaggio precedenteMessaggio successivo
Antonio 6sette  è attualmente disconnesso Antonio 6sette
Messaggi: 20
Registrato: gennaio 2011
Junior Member
On 2011-06-20, Pictor <pictor13@gmail.com> wrote:

tipo:

find DIRECTORY -type d -execdir stat --printf="%N;%A\n" {} \;

1) al posto di DIRECTORY mettici in quale dir vuoi cercare
2) pagina man di stat per il formato di printf
3) se vuoi il percorso completo della dir sostituisci -execdir con -exec
4) pagina man di find

--
Never try to teach a pig to sing.
It wastes your time and annoys the pig.
Re: Lista folder in formato testo [messaggio #39659 è una risposta a message #39658] lun, 20 giugno 2011 17:27 Messaggio precedenteMessaggio successivo
Pictor  è attualmente disconnesso Pictor
Messaggi: 18
Registrato: gennaio 2011
Junior Member
On 20 Giu, 16:58, Antonio 6sette <hinde...@tiscali.it> wrote:
> On 2011-06-20, Pictor <picto...@gmail.com> wrote:
>
> tipo:
>
> find DIRECTORY -type d -execdir stat --printf="%N;%A\n" {} \;
>
> 1) al posto di DIRECTORY mettici in quale dir vuoi cercare

Con $ indico una variabile di sistema. Ovviamente corrisponderà alla
directory che mi interessa.

> 2) pagina man di stat per il formato di printf

L'avevo già fatto. Come l'avevo scritto andava già bene, eccetto per
la mancanza della lista di utenti dei gruppi.

> 3) se vuoi il percorso completo della dir sostituisci -execdir con -exec

Ottimo. Con execdir non si capiva niente della struttura.


Comunque mancava il " {} \; " alla fine....... non ho idea di che
cosa significhino (dai man non si capisce), ma adesso funziona!
Re: Lista folder in formato testo [messaggio #39660 è una risposta a message #39659] lun, 20 giugno 2011 18:58 Messaggio precedenteMessaggio successivo
Dalet  è attualmente disconnesso Dalet
Messaggi: 210
Registrato: novembre 2010
Senior Member
Il 20-06-2011, Pictor dice:
>On 20 Giu, 16:58, Antonio 6sette <hinde...@tiscali.it> wrote:

>>find DIRECTORY -type d -execdir stat --printf="%N;%A\n" {} \;

>Ottimo. Con execdir non si capiva niente della struttura.
>Comunque mancava il " {} \; " alla fine....... non ho idea di che
>cosa significhino (dai man non si capisce), ma adesso funziona!

Me lo spiegate che differenza o controindicazione c'e'
ad usare questa molto piu' semplice?

stat -c "%n; %G; %A" $(find pippo -type d)

--
Saluti, Dalet
Re: Lista folder in formato testo [messaggio #39670 è una risposta a message #39660] lun, 20 giugno 2011 21:03 Messaggio precedenteMessaggio successivo
Marco  è attualmente disconnesso Marco
Messaggi: 226
Registrato: giugno 2007
Senior Member
On Mon, 20 Jun 2011 16:58:14 +0000 (UTC)
Dalet <dalet@address.invalid> wrote:

> Il 20-06-2011, Pictor dice:
> >On 20 Giu, 16:58, Antonio 6sette <hinde...@tiscali.it> wrote:
>
> >>find DIRECTORY -type d -execdir stat --printf="%N;%A\n" {} \;
>
> >Ottimo. Con execdir non si capiva niente della struttura.
> >Comunque mancava il " {} \; " alla fine....... non ho idea di che
> >cosa significhino (dai man non si capisce), ma adesso funziona!
>
> Me lo spiegate che differenza o controindicazione c'e'
> ad usare questa molto piu' semplice?
>
> stat -c "%n; %G; %A" $(find pippo -type d)

Ci sono due differenze principalmente:

- come lo faresti tu, se ci sono file con spazi nel nome, ottieni errori
perche' ogni componente del nome viene interpretata come un file, per
eempio se hai "mia directory", stat cerca di processare "mia" e
"directory"
- se find ritorna tantissimissimi nomi, puoi avere un errore "argument list
too long" (mentre con find -exec funziona).

--
Cio' che si vede, e'.
Re: Lista folder in formato testo [messaggio #39671 è una risposta a message #39660] lun, 20 giugno 2011 21:13 Messaggio precedenteMessaggio successivo
mallin.shetland  è attualmente disconnesso mallin.shetland
Messaggi: 129
Registrato: novembre 2010
Senior Member
Addì lunedì 20 giugno 2011 18:58 Dalet scrisse:

> Me lo spiegate che differenza o controindicazione c'e'
> ad usare questa molto piu' semplice?
>
> stat -c "%n; %G; %A" $(find pippo -type d)

- non è /più/ /semplice/
- non è più efficiente
- non è portabile
- causa più problemi di quanti ne risolva
- nei file CVS il separatore non è lo spazio
- non funziona

es:

$ mkdir pippo
$ touch pippo{ab,a\ b,'a
b'}
$ stat -c "%n; %G; %A" $(find pippo -type f)

ed è solo una delle divertenti cose che potrebbero capitare.
Re: Lista folder in formato testo [messaggio #39673 è una risposta a message #39659] lun, 20 giugno 2011 21:49 Messaggio precedenteMessaggio successivo
Antonio 6sette  è attualmente disconnesso Antonio 6sette
Messaggi: 20
Registrato: gennaio 2011
Junior Member
On 2011-06-20, Pictor <pictor13@gmail.com> wrote:
> Comunque mancava il " {} \; " alla fine....... non ho idea di che
> cosa significhino (dai man non si capisce), ma adesso funziona!

-exec command ;
Execute command; true if 0 status is returned. All following arguments to find are
taken to be arguments to the command until an argument consisting of `;' is encoun-
tered. The string `{}' is replaced by the current file name being processed every-
where it occurs in the arguments to the command, not just in arguments where it is
alone, as in some versions of find.

che man hai ??
;-)

--
Never try to teach a pig to sing.
It wastes your time and annoys the pig.
Re: Lista folder in formato testo [messaggio #39674 è una risposta a message #39670] lun, 20 giugno 2011 22:15 Messaggio precedenteMessaggio successivo
Dalet  è attualmente disconnesso Dalet
Messaggi: 210
Registrato: novembre 2010
Senior Member
Il 20-06-2011, Marco dice:
>On Mon, 20 Jun 2011 16:58:14 +0000 (UTC)
>Dalet <dalet@address.invalid> wrote:
>>>On 20 Giu, 16:58, Antonio 6sette <hinde...@tiscali.it> wrote:

>>>>find DIRECTORY -type d -execdir stat --printf="%N;%A\n" {} \;

>>Me lo spiegate che differenza o controindicazione c'e'
>>ad usare questa molto piu' semplice?
>>stat -c "%n; %G; %A" $(find pippo -type d)

>Ci sono due differenze principalmente:
>- come lo faresti tu, se ci sono file con spazi nel nome, ottieni errori
> perche' ogni componente del nome viene interpretata come un file, per
> eempio se hai "mia directory", stat cerca di processare "mia" e
> "directory"
>- se find ritorna tantissimissimi nomi, puoi avere un errore "argument list
> too long" (mentre con find -exec funziona).

THX! infatti con la mia coi - maledetti siano! - spazi non
ci son riuscito in nessun modo, invece sul numero fino a 95
mila non ha battuto ciglio.

--
Saluti, Dalet
Re: Lista folder in formato testo [messaggio #39675 è una risposta a message #39671] lun, 20 giugno 2011 22:39 Messaggio precedenteMessaggio successivo
Dalet  è attualmente disconnesso Dalet
Messaggi: 210
Registrato: novembre 2010
Senior Member
Il 20-06-2011, mallin.shetland dice:
>Addì lunedì 20 giugno 2011 18:58 Dalet scrisse:

>>Me lo spiegate che differenza o controindicazione c'e'
>>ad usare questa molto piu' semplice?
>>stat -c "%n; %G; %A" $(find pippo -type d)

> - non è /più/ /semplice/
> - non è più efficiente
> - non è portabile
> - causa più problemi di quanti ne risolva
> - nei file CVS il separatore non è lo spazio
> - non funziona
>es:
>$ mkdir pippo
>$ touch pippo{ab,a\ b,'a
>b'}
>$ stat -c "%n; %G; %A" $(find pippo -type f)

Si' THX me l'ha detto anche Marco, tutte queste prove
le avevo gia' fatte e infatti non m'e' riuscito di fare
prendere a stat l'output di "a b" in nessun modo (con
la mia eh).

--
Saluti, Dalet
Re: Lista folder in formato testo [messaggio #39698 è una risposta a message #39675] mar, 21 giugno 2011 11:31 Messaggio precedente
Lem Novantotto  è attualmente disconnesso Lem Novantotto
Messaggi: 166
Registrato: novembre 2010
Senior Member
Dalet ha scritto:

> Si' THX me l'ha detto anche Marco, tutte queste prove le avevo gia'
> fatte e infatti non m'e' riuscito di fare prendere a stat l'output di "a
> b" in nessun modo (con la mia eh).

Comunque, a proposito di semplicità: se non interessano le ACL, mi pare
sia sufficiente

find $startdirectory -type d -printf '%p;%g;%M\n'
--
Bye, Lem
Ceterum censeo ISLAM esse delendum
____________________________________________________________ _____
Non sprecare i cicli idle della tua CPU, né quelli della tua GPU.
http://cleanenergy.harvard.edu/ http://spin.fh-bielefeld.de/
http://www.gpugrid.net/
Argomento precedente:crackare una casella mail?
Argomento successivo:Mettere una vga discreta x migliorare sotto linux?
Vai al forum:
  


Ora corrente: mer mag 01 10:30:29 CEST 2024

Tempo totale richiesto per generare la pagina: 0.00918 secondi
.:: Contatti :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Live Support