Repository 32bit  Forum
Repository 64bit  Wiki

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

[BASH] lista directory [RISOLTO]

Messaggioda Blallo » mer apr 21, 2010 12:10

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 apr 21, 2010 13:33, modificato 1 volta in totale.
Io sono il detective Arsenio Magret, e porto sempre la camicia TATUATA!
Avatar utente
Blallo
Packager
Packager
 
Messaggi: 3244
Iscritto il: ven ott 12, 2007 10:37
Località: Torino / Torremaggiore (FG)
Nome Cognome: Savino Liguori
Slackware: 14.1 / 12.2
Kernel: 3.12.2-ck
Desktop: Openbox

Re: [BASH] lista directory

Messaggioda d4z_c0nf » mer apr 21, 2010 12:34

find . -type d

Però è ricorsivo
Avatar utente
d4z_c0nf
Packager
Packager
 
Messaggi: 1294
Iscritto il: mar mar 14, 2006 18:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce

Re: [BASH] lista directory

Messaggioda conraid » mer apr 21, 2010 13:19

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
conraid
Staff
Staff
 
Messaggi: 12022
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: [BASH] lista directory

Messaggioda Blallo » mer apr 21, 2010 13:26

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 sono il detective Arsenio Magret, e porto sempre la camicia TATUATA!
Avatar utente
Blallo
Packager
Packager
 
Messaggi: 3244
Iscritto il: ven ott 12, 2007 10:37
Località: Torino / Torremaggiore (FG)
Nome Cognome: Savino Liguori
Slackware: 14.1 / 12.2
Kernel: 3.12.2-ck
Desktop: Openbox

Re: [BASH] lista directory

Messaggioda d4z_c0nf » mer apr 21, 2010 13:31

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
d4z_c0nf
Packager
Packager
 
Messaggi: 1294
Iscritto il: mar mar 14, 2006 18:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce

Re: [BASH] lista directory

Messaggioda Blallo » mer apr 21, 2010 13:34

d4z_c0nf ha scritto:
Codice: Seleziona tutto
ls -p | grep "/$" | sed 's/\///'

funziona benissimo anche questo :D
grazie mille
Io sono il detective Arsenio Magret, e porto sempre la camicia TATUATA!
Avatar utente
Blallo
Packager
Packager
 
Messaggi: 3244
Iscritto il: ven ott 12, 2007 10:37
Località: Torino / Torremaggiore (FG)
Nome Cognome: Savino Liguori
Slackware: 14.1 / 12.2
Kernel: 3.12.2-ck
Desktop: Openbox

Re: [BASH] lista directory [RISOLTO]

Messaggioda masalapianta » mer apr 21, 2010 13:38

find -maxdepth 1 -type d -exec basename {} \;
Avatar utente
masalapianta
Iper Master
Iper Master
 
Messaggi: 2775
Iscritto il: dom lug 24, 2005 23:00
Località: Roma
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian

Re: [BASH] lista directory [RISOLTO]

Messaggioda urka58 » mer apr 21, 2010 18:29

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
urka58
Linux 2.6
Linux 2.6
 
Messaggi: 540
Iscritto il: mer dic 07, 2005 23:29

Re: [BASH] lista directory [RISOLTO]

Messaggioda d4z_c0nf » gio apr 22, 2010 11:20

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.
Avatar utente
d4z_c0nf
Packager
Packager
 
Messaggi: 1294
Iscritto il: mar mar 14, 2006 18:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce

Re: [BASH] lista directory [RISOLTO]

Messaggioda Mario Vanoni » gio apr 22, 2010 13:42

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.
Mario Vanoni
Iper Master
Iper Master
 
Messaggi: 3174
Iscritto il: lun set 03, 2007 20:20
Località: Cuasso al Monte (VA)
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey

Re: [BASH] lista directory [RISOLTO]

Messaggioda d4z_c0nf » gio apr 22, 2010 14:37

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
Avatar utente
d4z_c0nf
Packager
Packager
 
Messaggi: 1294
Iscritto il: mar mar 14, 2006 18:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite