Pagina 1 di 1

[BASH] lista directory [RISOLTO]

Inviato: mer 21 apr 2010, 13:10
da Blallo
ho bisogno di un comando che mi "sputi" solo le dir (all'interno di una dir)
ls -d mi restituisce solo uno stupidissimo " . "
come posso fare?

Re: [BASH] lista directory

Inviato: mer 21 apr 2010, 13:34
da d4z_c0nf
find . -type d

Però è ricorsivo

Re: [BASH] lista directory

Inviato: mer 21 apr 2010, 14:19
da conraid
un "comando" sinceramente non so, prova

Codice: Seleziona tutto

$ ls -d */ .*/
con le varie opzioni per modificare l'output

altrimenti usa le pipe

Codice: Seleziona tutto

$ ls -l | grep `^d'

Codice: Seleziona tutto

$ ls -p | grep "/$"
se vuoi prendere solo il nome senza dati o senza il simbolo / usa ancora una pipe

comunque giocando con le pipe fai di tutto

Re: [BASH] lista directory

Inviato: mer 21 apr 2010, 14:26
da Blallo
conraid ha scritto:

Codice: Seleziona tutto

$ ls -p | grep "/$"
grazie mille conraid, questo va benissimo
ma volendo rimuovere lo slash, come posso fare? (sono abbastanza ignorante di bash)

Re: [BASH] lista directory

Inviato: mer 21 apr 2010, 14:31
da d4z_c0nf
jimmy_page_89 ha scritto:
conraid ha scritto:

Codice: Seleziona tutto

$ ls -p | grep "/$"
grazie mille conraid, questo va benissimo
ma volendo rimuovere lo slash, come posso fare? (sono abbastanza ignorante di bash)
Io lo metterei in pipe con sed:

Codice: Seleziona tutto

ls -p | grep "/$" | sed 's/\///'

Re: [BASH] lista directory

Inviato: mer 21 apr 2010, 14:34
da Blallo
d4z_c0nf ha scritto:

Codice: Seleziona tutto

ls -p | grep "/$" | sed 's/\///'
funziona benissimo anche questo :D
grazie mille

Re: [BASH] lista directory [RISOLTO]

Inviato: mer 21 apr 2010, 14:38
da masalapianta
find -maxdepth 1 -type d -exec basename {} \;

Re: [BASH] lista directory [RISOLTO]

Inviato: mer 21 apr 2010, 19:29
da urka58
masalapianta ha scritto:find -maxdepth 1 -type d -exec basename {} \;
manca il path della directory dove eseguire la ricerca, es "." o "/path/to/topdir"
Ciao

Re: [BASH] lista directory [RISOLTO]

Inviato: gio 22 apr 2010, 12:20
da d4z_c0nf
urka58 ha scritto:
masalapianta ha scritto:find -maxdepth 1 -type d -exec basename {} \;
manca il path della directory dove eseguire la ricerca, es "." o "/path/to/topdir"
Ciao
Non è necessario, se non lo specifichi si intende la directory corrente.

Re: [BASH] lista directory [RISOLTO]

Inviato: gio 22 apr 2010, 14:42
da Mario Vanoni
d4z_c0nf ha scritto:
urka58 ha scritto:
masalapianta ha scritto:find -maxdepth 1 -type d -exec basename {} \;
manca il path della directory dove eseguire la ricerca, es "." o "/path/to/topdir"
Ciao
Non è necessario, se non lo specifichi si intende la directory corrente.
Vero solo per GNU/find, vari altri UNIX/find lo pretendono!
Se lo script deve essere portabile, sempre find . o find /dir.

Re: [BASH] lista directory [RISOLTO]

Inviato: gio 22 apr 2010, 15:37
da d4z_c0nf
Mario Vanoni ha scritto:
d4z_c0nf ha scritto:
Non è necessario, se non lo specifichi si intende la directory corrente.
Vero solo per GNU/find, vari altri UNIX/find lo pretendono!
Se lo script deve essere portabile, sempre find . o find /dir.
Buono a sapersi.

rock