The UNIX and Linux Forums  


Go Back   Die UNIX-und Linux-Foren > Top Foren > UNIX for Dummies Questions & Answers
.
Google unix.com



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

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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 03-12-2009
nuvpal nuvpal is offline
Registrierte Nutzer
  
 

Join Date: März 2009
Beiträge: 7
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..
  #2 (permalink)  
Old 03-12-2009
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
addict
  
 

Join Date: Jan 2007
Lage: Варна, България / Milano, Italia
Posts: 2915
Was ist los mit:


Code:
ls ~username

... oder ich bin etwas fehlt?

Könnten Sie ein Beispiel für die gewünschte Ausgabe?
  #3 (permalink)  
Old 03-12-2009
nuvpal nuvpal is offline
Registrierte Nutzer
  
 

Join Date: März 2009
Beiträge: 7
Zitat:
Zitat von radoulov View Post
Was ist los mit:


Code:
ls ~username

... oder ich bin etwas fehlt?

Könnten Sie ein Beispiel für die gewünschte Ausgabe?
Ich bin nicht ganz sicher, was ls ~ username tun würde, wenn ich versuche, es gibt das gleiche wie ein normaler Befehl ls ...

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..
  #4 (permalink)  
Old 03-12-2009
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
addict
  
 

Join Date: Jan 2007
Lage: Варна, България / Milano, Italia
Posts: 2915
Ich kann immer noch nicht verstehen: Da Ihr Beispiel direc1.1, 1 ist der Name des Unterverzeichnis oder eine Art von Auto-ID erhöht?
Wollen Sie eine Ausgabe ähnlich dieser:


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
Registrierte Nutzer
  
 

Join Date: März 2009
Beiträge: 7
Zitat:
Zitat von radoulov View Post
Ich kann immer noch nicht verstehen: Da Ihr Beispiel direc1.1, 1 ist der Name des Unterverzeichnis oder eine Art von Auto-ID erhöht?
Wollen Sie eine Ausgabe ähnlich dieser:


Code:
$ find -type d
.
./dir1
./dir1/dir11
./dir1/dir11/dir111
./dir1/dir12
./dir1/dir12/dir121
./dir2
Art der ... Einfach gesagt, was ich möchte, ist ein Skript erstellen, die zeigt eine Ausgabe ähnlich der Unix-Befehl Baum

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.
  #6 (permalink)  
Old 03-12-2009
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
addict
  
 

Join Date: Jan 2007
Lage: Варна, България / Milano, Italia
Posts: 2915
Haben Sie versucht:


Code:
tree -d ~

oder (wie bereits erwähnt):


Code:
find -type d

  #7 (permalink)  
Old 03-12-2009
nuvpal nuvpal is offline
Registrierte Nutzer
  
 

Join Date: März 2009
Beiträge: 7
Zitat:
Zitat von radoulov View Post

Code:
$ find -type d
.
./dir1
./dir1/dir11
./dir1/dir11/dir111
./dir1/dir12
./dir1/dir12/dir121
./dir2
besser zu erklären, meine direc1, direc1.1 bla bla ...
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
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 02:35 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0