Repository 32bit  Forum
Repository 64bit  Wiki

[BASH] lista directory [RISOLTO]

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata e la versione del Kernel. Questi dati aiutano le persone che possono rispondere.
2) Specificare sempre il tipo di shell (bash, sh, csh, etc...)
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 dell'ultima regola 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: 3054
Iscritto il: ven ott 12, 2007 11:37
Località: Torino / Torremaggiore (FG)
Nome Cognome: Savino Liguori
Slackware: 14 x64 / 12.2
Kernel: 3.2.x
Desktop: Xfce

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: 1266
Iscritto il: mar mar 14, 2006 19:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: current64
Kernel: 3.2.13
Desktop: awesome 3.4.11

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: 11896
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: 3054
Iscritto il: ven ott 12, 2007 11:37
Località: Torino / Torremaggiore (FG)
Nome Cognome: Savino Liguori
Slackware: 14 x64 / 12.2
Kernel: 3.2.x
Desktop: Xfce

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: 1266
Iscritto il: mar mar 14, 2006 19:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: current64
Kernel: 3.2.13
Desktop: awesome 3.4.11

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: 3054
Iscritto il: ven ott 12, 2007 11:37
Località: Torino / Torremaggiore (FG)
Nome Cognome: Savino Liguori
Slackware: 14 x64 / 12.2
Kernel: 3.2.x
Desktop: Xfce

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: 2363
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: 524
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: 1266
Iscritto il: mar mar 14, 2006 19:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: current64
Kernel: 3.2.13
Desktop: awesome 3.4.11

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: 1266
Iscritto il: mar mar 14, 2006 19:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: current64
Kernel: 3.2.13
Desktop: awesome 3.4.11


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti