ls -al bzw LIST -al auswerten

meilon

Erfahrenes Mitglied
Hallo,
ich versuche gerade die Ausgabe von ls -al weiter zu verarbeiten. Genauer gesagt über FTP mit dem Befehl LIST -al. Dabei habe ich festgestellt, dass die Abstände nicht immer genau eingehalten werden. Mal ein zu langer Benutzer/Gruppenname oder einfach eine zu breite Angabe der Dateigröße.

Wie kann ich das programmiertechnisch weiter verwenden? Ich sehe, wo ein weitere Eigenschaft der Datei anfängt, aber wie bringe ich dass meinem Programm bei?

mfg
meilon

PS: Es wird Zeile für Zeile vorgegangen, vll. ist diese Information wichtig

Hier mal ein paar Zeilen meines public_html-Verzeichnisses via FTP (Mit 2 Telnet-Instanzen erstellt):
Code:
-rw-r--r--   1 webmaster root        42755 Apr  7 13:11 files.htm
drwxr-xr-x   3 webmaster root         2048 Apr  7 13:11 firefox
-rw-r--r--   1 webmaster root          128 Apr  7 13:11 functions.php
-rw-r--r--   1 webmaster webmaster  8019852 Apr 16 20:42 gallery-2.1.1a-full.tar.gz
drwxr-xr-x   9 webmaster webmaster     2048 Apr 26 16:07 garten-galerie
drwxr-xr-x   2 webmaster root         2048 Apr  7 13:11 geoip
 
Das ist ja nicht so einfach. Wenn ich als Trenner ein einfaches Trennzeichen verwende, komm ich am Anfang an die Datei-Attribute, aber später im Array an den richtigen Index mit der Dateigröße zu kommen, wird dann schwieriger.

Ich habe mir ja erst überlegt, dass bei Zeichen 0 bis Zeichen 9 die Attribute liegen, dann irgend eine Zahl (was sagt die überhaupt?) etc. Aber dann macht die Dateigröße einen Strich durch die Rechnung!

Dazu jemand eine Idee?

mfg
 
Hi.

Wie Wolfsbein bereits gesagt hat solltest du einfach die Zeile an den Leerzeichen in Felder aufsplitten. Awk ist ein Standard (Unix) Programm was genau diese Aufgabe erledigt. Das erste Feld enhält dann die Zugriffsrechte, das zweite die Anzahl der Links usw. Das 4. Feld entspricht dann der Größe.

Gruß
 
Ich versuch nochmal zu verdeutlichen, was passiert, wenn ich nach Leerzeichen trenne. In der Zeile soll nun | als Trenner fundieren und alles zwischen zwei | ist ein Element des resultierenden Arrays:
Code:
|-rw-r--r--|||1||webmaster|webmaster|||8019852||Apr||16||20:42||gallery-2.1.1a-full.tar.gz|
Wie man sieht, würde es Array-Inhalte geben, die mich gar nicht interessieren! Und via FTP auf Linux-Befehle zugreifen, naja......

mfg

PS: Ich hab da mal ne Idee, ich durchlaufe einfach das Array und checke, ob der Inhalt etwas enthält oder nicht! Wenn einer einen besseren Forschlag hat, dann her damit!!
 
Es mag ja sein, dass dich gewisse Teile nicht interessieren. Bei der Auswertung macht es aber fast keinen Unterschied. Du musst sie dir ja nicht ansehen :D.
 

Neue Beiträge

Zurück