![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| UNIX for Dummies Questions & Answers Wenn Sie nicht sicher sind, wo Sie eine UNIX-oder Linux-Frage, post it here. Alle UNIX-und Linux-Anfänger willkommen! |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Problem in awk int ()-Funktion | qa.bingo | Shell Programmierung und Scripting | 2 | 01-02-2009 09:52 AM |
| Rekursion | joshighanshyam | High-Level-Programmierung | 5 | 12-03-2008 12:15 PM |
| Hilfe Hilfe Hilfe in Rekursion | Murtaza | Shell Programmierung und Scripting | 6 | 03-29-2007 11:26 AM |
| Problem mit Rekursion in Unterverzeichnissen | scotty_123 | Shell Programmierung und Scripting | 5 | 03-11-2007 05:51 AM |
| Rekursion | gsjf | Shell Programmierung und Scripting | 1 | 08-26-2002 01:22 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Rekursion Shift-Funktion Problem
Hi, ich bin versucht, ein Skript erstellen, die den Inhalt der Benutzer-Verzeichnisse, aber ich bin verwirrt darüber, wie Sie die Verschiebung richtig. Das Problem habe ich mit meinem Skript ist, dass es sich dachte, das erste Paar von Verzeichnissen, aber dann einen Fehler zurück, da sie verliert das erste Verzeichnis, wenn die Fortsetzung der Suche auf anderen Verzeichnissen (Ich hoffe, dass macht Sinn!) EDIT: Ich entschuldige mich, das war das alte Problem, das Problem ist jetzt der Weg für die Suche bringt die falsche Verzeichnisse, so sieht es aus im Wege, die nicht existieren Hier ist mein Code, wäre jede Hilfe sehr dankbar. 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: Ich habe auch versucht die Unterdrückung der Fehler wieder von der ls dev null, indem Sie die Zeile in der Funktion: Code:
list=$(ls -l $direc/$1 | egrep '^d' | cut -d" " -f8 2>/dev/null) und auch Code:
list=$(ls -l $direc/$1 | egrep '^d' | cut -d" " -f8) 2>/dev/null aber niether Arbeit, die beide den gleichen Ausgang, in anderen Worten, sie sind immer noch nicht suppressesing die Standard-Fehler.
Zuletzt bearbeitet von nuvpal; am 03-12-2009 06:22 AM.. |
|
||||
|
Zitat:
Im Grunde, was ich möchte, dass mein Skript zu tun, ist eine visuelle Darstellung des angegebenen Verzeichnis und alle seine Unterverzeichnisse (wie der Baum-Kommando). Ich habe es geschafft, die das Original LS-Fehler, indem Sie die 2> / dev / null auf die Funktion selbst, scheint zu funktionieren ok jetzt: 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
Aber mein Skript immer noch nicht richtig funktioniert, wird es durch den ersten Scan-Verzeichnis gefunden und zeigt sie zusammen mit allen Unterverzeichnissen, aber wenn es um die Schleife wieder zurück zum ursprünglichen Verzeichnis und zeigt die nächste Verzeichnis wird es nicht durch die Scan-und Display Unterverzeichnisse werden. (Ich bin es ganz schwer zu erklären, aber ich hoffe, Sie verstehen) da die Ausgabe sieht dann etwa so aus: (wobei die. Anzahl und die Verzeichnisse und Unterverzeichnisse) direc1 direc1.1 direc1.1.1 direc1.1.2 direc1.2 direc1.2.1 direc2 und dann hält, wenn es, wie ich will, um eine Ausgabe wie: 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 ... Zuletzt bearbeitet von nuvpal; am 03-12-2009 08:26 AM.. |
|
||||
|
Zitat:
Code:
tree ~ Liste, sondern nur Verzeichnisse und Unterverzeichnisse, keine Dateien enthalten. Ich hoffe, dass ist klarer. Und ich sehr zu schätzen Ihre Hilfe und Zeit.
|
|
||||
|
Zitat:
direc1 wäre das übergeordnete Verzeichnis, direc1.1 und Richtung 1/2 wäre Unterverzeichnisse von direc1, und direc1.1.1 wäre ein Unterverzeichnis des Unterverzeichnis direc1.1 Ich hoffe, das ist ein bisschen klarer ![]() |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|