[BASH] lista directory [RISOLTO]

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
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.
Rispondi
Avatar utente
Blallo
Packager
Packager
Messaggi: 3302
Iscritto il: ven 12 ott 2007, 11:37
Nome Cognome: Savino Liguori
Slackware: 14.2 / 12.2
Kernel: 4.4.14-smp
Desktop: DWM
Località: Torino / Torremaggiore (FG)
Contatta:

[BASH] lista directory [RISOLTO]

Messaggio 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?
Ultima modifica di Blallo il mer 21 apr 2010, 14:33, modificato 1 volta in totale.

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar 14 mar 2006, 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.2-current64
Kernel: 4.14.73
Desktop: awesomeWM
Località: Pinerolo

Re: [BASH] lista directory

Messaggio da d4z_c0nf »

find . -type d

Però è ricorsivo

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: [BASH] lista directory

Messaggio 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

Avatar utente
Blallo
Packager
Packager
Messaggi: 3302
Iscritto il: ven 12 ott 2007, 11:37
Nome Cognome: Savino Liguori
Slackware: 14.2 / 12.2
Kernel: 4.4.14-smp
Desktop: DWM
Località: Torino / Torremaggiore (FG)
Contatta:

Re: [BASH] lista directory

Messaggio 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)

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar 14 mar 2006, 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.2-current64
Kernel: 4.14.73
Desktop: awesomeWM
Località: Pinerolo

Re: [BASH] lista directory

Messaggio 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/\///'

Avatar utente
Blallo
Packager
Packager
Messaggi: 3302
Iscritto il: ven 12 ott 2007, 11:37
Nome Cognome: Savino Liguori
Slackware: 14.2 / 12.2
Kernel: 4.4.14-smp
Desktop: DWM
Località: Torino / Torremaggiore (FG)
Contatta:

Re: [BASH] lista directory

Messaggio da Blallo »

d4z_c0nf ha scritto:

Codice: Seleziona tutto

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

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Re: [BASH] lista directory [RISOLTO]

Messaggio da masalapianta »

find -maxdepth 1 -type d -exec basename {} \;

Avatar utente
urka58
Linux 3.x
Linux 3.x
Messaggi: 543
Iscritto il: mer 7 dic 2005, 23:29

Re: [BASH] lista directory [RISOLTO]

Messaggio 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

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar 14 mar 2006, 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.2-current64
Kernel: 4.14.73
Desktop: awesomeWM
Località: Pinerolo

Re: [BASH] lista directory [RISOLTO]

Messaggio 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.

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: [BASH] lista directory [RISOLTO]

Messaggio 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.

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar 14 mar 2006, 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.2-current64
Kernel: 4.14.73
Desktop: awesomeWM
Località: Pinerolo

Re: [BASH] lista directory [RISOLTO]

Messaggio 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

Rispondi