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 13: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 14:33, modificato 1 volta in totale.
Io sono il detective Arsenio Magret, e porto sempre la camicia TATUATA!
Avatar utente
Blallo
Packager
Packager
 
Messaggi: 3257
Iscritto il: ven ott 12, 2007 11: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:34

find . -type d

Però è ricorsivo
Avatar utente
d4z_c0nf
Packager
Packager
 
Messaggi: 1294
Iscritto il: mar mar 14, 2006 19: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 14: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: 12214
Iscritto il: gio lug 14, 2005 0:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: [BASH] lista directory

Messaggioda Blallo » mer apr 21, 2010 14: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: 3257
Iscritto il: ven ott 12, 2007 11: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 14: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 19: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 14: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: 3257
Iscritto il: ven ott 12, 2007 11: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 14:38

find -maxdepth 1 -type d -exec basename {} \;
Avatar utente
masalapianta
Iper Master
Iper Master
 
Messaggi: 2775
Iscritto il: lun lug 25, 2005 0: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 19: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: 542
Iscritto il: gio dic 08, 2005 0:29

Re: [BASH] lista directory [RISOLTO]

Messaggioda d4z_c0nf » gio apr 22, 2010 12: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 19: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 14: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 21: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 15: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 19: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 0 ospiti