The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > UNIX pour les nuls Questions et réponses
.
google unix.com



UNIX pour les nuls Questions et réponses Si vous ne savez pas où poster un UNIX ou Linux question, post it here. Tous les systèmes UNIX et Linux, débutants bienvenus!

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
problème dans awk int () la fonction qa.bingo De programmation et de script Shell 2 01-02-2009 09:52 AM
Recursion joshighanshyam High Level Programming 5 12-03-2008 12:15 PM
Aide Aide à la recursion Murtaza De programmation et de script Shell 6 03-29-2007 11:26 AM
Problème avec la récursivité dans les sous-répertoires scotty_123 De programmation et de script Shell 5 03-11-2007 05:51 AM
recursion gsjf De programmation et de script Shell 1 08-26-2002 01:22 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 03-12-2009
nuvpal nuvpal is offline
Registered User
  
 

Date d'inscription: mars 2009
Messages: 7
Fonction Shift Recursion Problème

Salut, Je tente de créer un script qui affichera le contenu des répertoires des utilisateurs, mais je suis confus sur la façon d'intégrer le passage correctement.

Le problème, je suis avec mon script, c'est qu'il va pensé que le premier couple de répertoires, mais renvoie une erreur car il perd alors le premier répertoire de continuer la recherche à d'autres répertoires (je l'espère, qui a du sens!)
EDIT: Je présente mes excuses, c'est le vieux problème, maintenant le problème est le chemin de la recherche ajoute les mauvais répertoires pour qu'il cherche dans les chemins qui n'existent pas

Voici mon code, toute aide serait grandement appréciée.

Code:
direc=~
list=$(ls -l $direc | egrep '^d' | cut -d" " -f8)
function printList() {
        for line in $*
        do
                echo $line
                list=$(ls -l $direc/$1 | egrep '^d' | cut -d" " -f8)
                direc=$direc/$1
                shift
                printList $list
 
        done
}
printList $list
Edit2: J'ai aussi essayé de supprimer l'erreur renvoyée par le ls de dev null en éditant la ligne à l'intérieur de la fonction:
Code:
                list=$(ls -l $direc/$1 | egrep '^d' | cut -d" " -f8 2>/dev/null)
et aussi
Code:
                list=$(ls -l $direc/$1 | egrep '^d' | cut -d" " -f8) 2>/dev/null
mais niether travail, à la fois les mêmes résultats, en d'autres termes, ils ne sont pas encore suppressesing l'erreur-type.

Dernière édition par nuvpal; au 03.12.2009 06:22 AM..
  #2 (permalink)  
Old 03-12-2009
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
addict
  
 

Join Date: Jan 2007
Lieu: Варна, България / Milano, Italia
Posts: 2877
What's wrong with:

Code:
ls ~username
... ou me manque quelque chose?

Pouvez-vous envoyer un exemple de la sortie désirée?
  #3 (permalink)  
Old 03-12-2009
nuvpal nuvpal is offline
Registered User
  
 

Date d'inscription: mars 2009
Messages: 7
Citation:
Posté par radoulov View Post
What's wrong with:

Code:
ls ~username
... ou me manque quelque chose?

Pouvez-vous envoyer un exemple de la sortie désirée?
Je ne suis pas tout à fait sûr de ce que ls ~ username ferait, quand je l'essayer, il affiche le même que celle d'une commande ls normal ...

Fondamentalement, ce que je veux que mon script à faire est d'afficher une représentation visuelle du répertoire spécifié et tous ses sous-répertoires (comme l'arbre de commande).

J'ai réussi à supprimer l'original ls erreur en ajoutant le 2> / dev / null à l'appel de la fonction elle-même, qui semble fonctionner ok maintenant:
Code:
#!/bin/bash
direc=~
seperator=....
list=$(ls -l $direc | egrep '^d' | cut -d" " -f8)
function printList() {
        for line in $*
        do
                echo $line
                list=$(ls -l $direc/$1 | egrep '^d' | cut -d" " -f8 )
                direc=$direc/$1
                shift
                printList $list 2>/dev/null

        done
}
printList $list 2>/dev/null
Mais mon script ne fonctionne toujours pas correctement, il va rechercher dans le cadre du premier répertoire trouvé et de l'afficher avec tous les sous-répertoires, mais quand il s'agit de la boucle de retour à l'original répertoire et afficher le répertoire de la prochaine ne sera pas par le biais de scan et d'affichage les sous-répertoires de celui-ci. (Je trouve cela assez difficile à expliquer mais j'espère que vous comprendrez)

la sortie sera donné quelque chose comme: (où l'. nombre et représentent les répertoires et sous répertoires)
direc1
direc1.1
direc1.1.1
direc1.1.2
direc1.2
direc1.2.1
direc2

et puis il s'arrête alors que je veux à l'affichage d'une sortie du type:
direc1
direc1.1
direc1.1.1
direc1.1.2
direc1.2
direc1.2.1
direc2
direc2.1
direc2.1.1
direc2.2
direc2.2.1
direc3
direc3.1
direc3.1.1
direc3.2
direc4
... etc

Dernière édition par nuvpal; au 03.12.2009 08:26 AM..
  #4 (permalink)  
Old 03-12-2009
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
addict
  
 

Join Date: Jan 2007
Lieu: Варна, България / Milano, Italia
Posts: 2877
Je n'arrive toujours pas à comprendre: l'exemple donné direc1.1, 1 est le nom du sous-répertoire ou une sorte d'auto incrémentée id?
Voulez-vous produire un rendement semblable à celui-ci:

Code:
$ find -type d
.
./dir1
./dir1/dir11
./dir1/dir11/dir111
./dir1/dir12
./dir1/dir12/dir121
./dir2
  #5 (permalink)  
Old 03-12-2009
nuvpal nuvpal is offline
Registered User
  
 

Date d'inscription: mars 2009
Messages: 7
Citation:
Posté par radoulov View Post
Je n'arrive toujours pas à comprendre: l'exemple donné direc1.1, 1 est le nom du sous-répertoire ou une sorte d'auto incrémentée id?
Voulez-vous produire un rendement semblable à celui-ci:

Code:
$ find -type d
.
./dir1
./dir1/dir11
./dir1/dir11/dir111
./dir1/dir12
./dir1/dir12/dir121
./dir2
Type de ... Simplement, ce que je voudrais faire est de créer un script qui affiche une puissance similaire à l'arbre de commande unix
Code:
tree ~
mais seulement la liste des répertoires et sous répertoires, pas de fichiers.

J'espère que c'est clair. Et j'apprécie beaucoup votre aide et votre temps.
  #6 (permalink)  
Old 03-12-2009
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
addict
  
 

Join Date: Jan 2007
Lieu: Варна, България / Milano, Italia
Posts: 2877
Avez-vous essayé:

Code:
tree -d ~
ou (comme déjà indiqué):

Code:
find -type d
  #7 (permalink)  
Old 03-12-2009
nuvpal nuvpal is offline
Registered User
  
 

Date d'inscription: mars 2009
Messages: 7
Citation:
Posté par radoulov View Post
Code:
$ find -type d
.
./dir1
./dir1/dir11
./dir1/dir11/dir111
./dir1/dir12
./dir1/dir12/dir121
./dir2
pour mieux expliquer ma direc1, direc1.1 blah blah ...
direc1 serait le répertoire parent, direc1.1 direction et 1.2 serait direc1 de sous-répertoires, et direc1.1.1 serait un sous-répertoire du répertoire direc1.1

i hope thats un peu plus clair
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 11:48 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0