Veröffentlicht 2. Juni 200421 j Hi, ich brauche den shell Befehl, der mir NUR die Grösse einer Datei ausgibt und nix weiter. Beispiel: es existiert file1 und es hat 100 byte _______________________________ [root@localhost] <befehl> file1 100 _______________________________ sowas wäre echt prkatisch, hab leider grad ned viel Zeit zum googlen, darum auch EILIG im Head
2. Juni 200421 j nen einzelnen befehl weiss ich jetzt nicht, aber so sollte es gehen: ls -al file | awk '{print $5}' das $5 müsste gegebenenfalls noch angepasst werden, die ls -al ausgabe ist glaub ich nicht bei jedem os gleich. mit $5 meint das nur das 5. feld der ausgabe von ls -al ausgegeben werden sollte, feldtrennung ist ein leerzeichen. also wenn die grösse bei dir im 6. feld steht, statt $5 $6 verwenden. hoff das war nicht zu verwirrent
2. Juni 200421 j Hallo, filesize ist auch nichts anderes als ein Skript, welches mit "ls" und "awk" arbeitet ; "du -sk" gibt die Dategröße in Blöcke aus (nicht in Bytes). Wesentlich performanter als die Variante mit "ls" und "awk" ist jedoch die Verwendung von stat: stat -c %s "dateiname" Nic Nic
2. Juni 200421 j Servus, erstmal die Frage welche shell und welches OS. Denn bei mir auf Sol 8 mit ksh: # filesize ksh: filesize: not found # stat ksh: stat: not found @nic_power zu du: # man du ... -k Write the files sizes in units of 1024 bytes, rather than the default 512-byte units. Ich würde das so machen (shutdown-Frnow und Nachtgeist gemixt ): du -k <file> | awk '{print $1}' cya alligator
2. Juni 200421 j Hallo, @nic_power zu du: # man du ... -k Write the files sizes in units of 1024 bytes, rather than the default 512-byte units. Richtig. Das heisst in der Praxis, dass die Blockgröße auf 1024 Bytes gesetzt wird (eine Unit=1024 Bytes, die Ausgabe erfolgt in Units). Die genaue Dateigröße kannst Du damit aber nicht ermitteln. Die 100 Byte grosse Datei aus dem Beispiel von dummabua wird mit einer Unit (=1024 Bytes) Größe angegeben (was dem 10fachen der tatsächlichen Dateigröße entspricht). stat gibt es beispielsweise unter Linux/BSD oder auch als Bestandteil der gnu fileutilities für praktisch jedes Betriebsystem; kann aber sicherlich nicht auf jedem System als Voraussetzung angesehen werden. Portabel und genau ist wohl nur die Lösung über "ls" und "awk". Nic
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.