The UNIX and Linux Forums  


Go Back   De Unix-en Linux Forum > Top Forums > UNIX voor Dummies Questions & Answers
.
google unix.com



UNIX voor Dummies Questions & Answers Als u niet zeker weet waar je een Unix-of Linux vraag, post het hier. Alle UNIX-en Linux beginners van harte welkom!!

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
probleem in awk int ()-functie qa.bingo Programmeren en Shell Scripting 2 01-02-2009 09:52
Recursie joshighanshyam Hoog Niveau Programmering 5 12-03-2008 12:15
Help Help Help op recursie murtaza Programmeren en Shell Scripting 6 03-29-2007 11:26
Probleem met recursie in subdirectories scotty_123 Programmeren en Shell Scripting 5 03-11-2007 05:51
recursie gsjf Programmeren en Shell Scripting 1 08-26-2002 01:22

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 03-12-2009
nuvpal nuvpal is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2009
Posten: 7
Functie recursie Shift Probleem

Hoi, ik probeer te maken van een script dat verschijnt de inhoud van de gebruikers directories, maar ik ben verward over hoe op te nemen verschuiving correct.

Het probleem dat ik steeds met mijn script is dat het gaat dacht dat de eerste paar mappen, maar dan geeft een fout als hij verliest de eerste gids bij voortzetting van het zoeken naar andere mappen (ik hoop dat zinvol?!)
EDIT: Mijn excuses, dat was de oude probleem, nu het probleem is het pad te worden gezocht voegt de verkeerde mappen, zodat zij zich met paden die niet bestaan

Hier is mijn code, geen hulp zou zeer gewaardeerd.


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: Ik heb ook geprobeerd het onderdrukken van de fout geretourneerd door de LS aan dev null door het bewerken van de lijn binnen de functie:

Code:
                list=$(ls -l $direc/$1 | egrep '^d' | cut -d" " -f8 2>/dev/null)

en ook

Code:
                list=$(ls -l $direc/$1 | egrep '^d' | cut -d" " -f8) 2>/dev/null

maar niether werk, zowel rendement dezelfde output, met andere woorden ze zijn nog steeds niet suppressesing de standaard fout.

Laatst gewijzigd door nuvpal; op 03.12.2009 06:22..
  #2 (permalink)  
Old 03-12-2009
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
addict
  
 

Join Date: Jan 2007
Locatie: Варна, България / Milano, Italia
Berichten: 2.919
Wat is er mis met:


Code:
ls ~username

... of ik mis iets?

Zou u een voorbeeld van de gewenste output?
  #3 (permalink)  
Old 03-12-2009
nuvpal nuvpal is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2009
Posten: 7
Citaat:
Oorspronkelijk geplaatst door radoulov View Post
Wat is er mis met:


Code:
ls ~username

... of ik mis iets?

Zou u een voorbeeld van de gewenste output?
Ik ben niet helemaal zeker wat ls ~ gebruikersnaam zou doen, als ik probeer het maar, het geeft het hetzelfde als een normale ls commando ...

In principe wat ik wil mijn script te doen is elkaar een visuele representatie van de opgegeven map en alle submappen (zoals de boom-commando).

Ik erin geslaagd om de oorspronkelijke ls fout bij het toevoegen van de 2> / dev / null naar de functie bel zelf die lijkt te werken ok nu:

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

Maar mijn script nog steeds niet goed werkt, zal het scannen via de eerste gids gevonden en weer te geven, samen met alle submappen, maar wanneer het gaat om de lus terug naar de oorspronkelijke map en elkaar de volgende map zal zij niet door middel van scannen en weergeven de submappen daarvan. (Ik vind het nogal moeilijk uit te leggen maar ik hoop dat u kunt begrijpen)

de output gegeven wordt iets als: (waar de. en nummer vertegenwoordigt de mappen en submappen)
direc1
direc1.1
direc1.1.1
direc1.1.2
direc1.2
direc1.2.1
direc2

en dan stopt, waar zoals ik wil dat ze elkaar een output zoals:
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

Laatst gewijzigd door nuvpal; op 03.12.2009 08:26..
  #4 (permalink)  
Old 03-12-2009
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
addict
  
 

Join Date: Jan 2007
Locatie: Варна, България / Milano, Italia
Berichten: 2.919
Ik kan nog steeds niet begrijpen: gezien uw voorbeeld direc1.1, 1 is de naam van de submap of een soort van automatische opgehoogd id?
Wilt u een output vergelijkbaar met deze:


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
Geregistreerde gebruiker
  
 

Join Datum: maart 2009
Posten: 7
Citaat:
Oorspronkelijk geplaatst door radoulov View Post
Ik kan nog steeds niet begrijpen: gezien uw voorbeeld direc1.1, 1 is de naam van de submap of een soort van automatische opgehoogd id?
Wilt u een output vergelijkbaar met deze:


Code:
$ find -type d
.
./dir1
./dir1/dir11
./dir1/dir11/dir111
./dir1/dir12
./dir1/dir12/dir121
./dir2
Soort van ... Simpel gezegd, wat ik zou willen doen is een script waarmee een vermogen vergelijkbaar met het Unix commando boom

Code:
tree ~

maar alleen lijst mappen en submappen, geen files.

Ik hoop dat het duidelijker is. En ik heb veel waardering voor uw hulp en tijd.
  #6 (permalink)  
Old 03-12-2009
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
addict
  
 

Join Date: Jan 2007
Locatie: Варна, България / Milano, Italia
Berichten: 2.919
Heeft u het volgende proberen:


Code:
tree -d ~

of (zoals reeds vermeld):


Code:
find -type d

  #7 (permalink)  
Old 03-12-2009
nuvpal nuvpal is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2009
Posten: 7
Citaat:
Oorspronkelijk geplaatst door radoulov View Post

Code:
$ find -type d
.
./dir1
./dir1/dir11
./dir1/dir11/dir111
./dir1/dir12
./dir1/dir12/dir121
./dir2
Om beter te kunnen uitleggen mijn direc1, direc1.1 blah blah ...
direc1 zou de bovenliggende map, direc1.1 en richting 1-2 zou worden submappen van direc1 en direc1.1.1 zou een sub-directory van de subdirectory direc1.1

Ik hoop dat is een beetje duidelijker
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 11:29.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0