Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/06/2011, 04h18   #1
Futur Membre du Club
 
Homme
Technicien réseau
Inscription : avril 2011
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Nouvelle-Calédonie

Informations professionnelles :
Activité : Technicien réseau
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : avril 2011
Messages : 15
Points : 17
Points : 17
Par défaut et encore find

bonjour,
quand je lance un find dans un répertoire de recherche pour trouver ses sous-répertoires, je lance la commande suivante:

Code :
find repertoire_de_recherche -maxdepth 1 -type d
que je complète souvent avec

Code :
| sed -e 's/^\/.*\///g'   ( pour enlever le chemin)
et avec

Le problème que j'ai, c'est que la commande find me renvoie dans les résultats, le répertoire de recherche lui-même (répertoire .) et j'ai du mal à l'enlever (parce qu'en fait, je veux mettre les réponses dans un fichier par une redirection à suivre). Par exemple, si je lance la commande dans le répertoire courant (en remplaçant repertoire_de_recherche par .), j'ai une ligne avec . dans les réponses.

Je voudrais savoir si on peut éliminer le répertoire de recherche lui-même avec une option de find ?
merci d'avance
syncope_nc est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/06/2011, 07h49   #2
Membre du Club
 
Avatar de aysheaia
 
E L
Inscription : juin 2011
Messages : 19
Détails du profil
Informations personnelles :
Nom : E L
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 19
Points : 62
Points : 62
Vu que tu utilises maxdepth 1, par exemple avec ls :
Code :
1
2
 
ls -1d */ | sed -e 's|/$||'
ou avec zsh :
aysheaia est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/06/2011, 09h40   #3
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,

Code :
find . -maxdepth 1 -mindepth 1 -type d -printf '%f\n'
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 29/06/2011, 00h23   #4
Futur Membre du Club
 
Homme
Technicien réseau
Inscription : avril 2011
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Nouvelle-Calédonie

Informations professionnelles :
Activité : Technicien réseau
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : avril 2011
Messages : 15
Points : 17
Points : 17
Par défaut ok excellent merci

- mindepth 1 enlève le répertoire courant en "forçant à descendre d'un cran"
- printf '%f\n' formate les réponses en enlevant notamment le chemin; du coup je n'ai plus besoin d'enchainer avec un pipe vers sed

merci également pour les réponses alternatives avec ls
syncope_nc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h07.


 
 
 
 
Partenaires

Hébergement Web