![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
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.. |
|
||||
|
Citaat:
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.. |
|
||||
|
Citaat:
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.
|
|
||||
|
Citaat:
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 ![]() |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|