http://www.pronix.de -> Forum -> Administration, Konfiguration

Forum: Administration, Konfiguration

Moderatoren: Herb, Martin Conrad

Thema: Shell: Alle Files in einem Verzeichnis ansprechen

  • (nur registrierte Mitglieder)
Hallo Community!

Wenn ich in der Shell (in meinem Fall Bash) Kommandos als Argument * übergebe, wird der Stern durch beinahe alle Dateinamen ersetzt.
"Beinahe" deshalb, weil Dateien und Ordner die mit einem . beginnen ausgenommen werden.
Wenn ich aber .* als Argument übergebe, erhalten die Programme alle Dateien und Ordner die mit einem . beginnen, aber keine anderen.
Zusätzlich erhalten sie dann auch den Ordner ..
Das will ich auch nicht :/

Gibt es eine Möglichkeit einem beliebigen Programm "Alle Dateien und Ordner im aktuellen Ordner, inklusive alle mit .*, exklusive .." zu übergeben?

Die Google-Suche nach "Shell *" brachte mit zwar Informationen über diverse Ölkonzerne, aber nicht wonach ich gesucht habe Grafik: Smilie Lachend

mfg, Wolfgang

--
Hex, Bugs and Rock 'n Roll

 
Wie wärs mit sowas?

./dein prog `find . -maxdepth 1 ! -name ..`

Bis denne

Martin

--
0xC0FFEE

 
Hallo!

Danke, sowas hab ich gesucht!

mfg, Wolfgang

--
Hex, Bugs and Rock 'n Roll

 
wäre es nicht sinnvoller beim find ein -exec rein zu machen?

habe das grade mal mit den backticks versucht, dies hat zu problemen geführt.

ich habe du auf alle ferzeichnisse und dateien in meinem home anwnden wollen, dabei '.', '..' und 'mnt' ausgeschlossen und alles nach größe absteigend sortiert:

find . -maxdepth 1 ! -name .. ! -name mnt ! -name . -exec du -hs '{}' \;|sort -h

ok, in diesem fall wird du auf jedes verzeichnis einzeln angewendet, was bei mir auch beabsichtigt war.

hatte es mal ohne '{}' versucht, dann wurde du aber jedesmal auf '.' angewendet und nicht auf alle dateien zusammen. bin grade zu müde um es weiter zu versuchen, ich glaube, wenn es mit find möglich ist eine argumentenliste zu erstellen und dies direkt an das programm zu geben sollte das besser sein als dies über die shell zu machen.

gruß iluminat23
 
  • (nur registrierte Mitglieder)