Dateigröße und Dateiname in Variable umleiten

Games, Plugins, Utils, Tools, 3rdParty, etc...
-=HSKc=-Robby
Einsteiger
Einsteiger
Beiträge: 143
Registriert: Sonntag 25. Februar 2007, 20:33

Dateigröße und Dateiname in Variable umleiten

Beitrag von -=HSKc=-Robby »

Ich möchte in einem Skript den genauen Dateinamen und die Dateigröße überprüfen.

Mit dem Befehlen

Code: Alles auswählen

ls -al testdatei*.dat | awk '{print $5}'
ls -al testdatei*.dat | awk '{print $9}'
lassen sich z.B. per Telnet die Größe und der Name anzeigen. Allerdings möchte ich das Ergebnis in den Variablen $Größe und $Name haben und nicht in der Console angezeigt bekommen... :gruebel:

Weiss jemand wie ich das hinbekommen könnte?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Dateigröße und Dateiname in Variable umleiten

Beitrag von rhabarber1848 »

man stat
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Dateigröße und Dateiname in Variable umleiten

Beitrag von GetAway »

test=`ls -l a.bmp | awk '{print $5}'`
-=HSKc=-Robby
Einsteiger
Einsteiger
Beiträge: 143
Registriert: Sonntag 25. Februar 2007, 20:33

Re: Dateigröße und Dateiname in Variable umleiten

Beitrag von -=HSKc=-Robby »

GetAway hat geschrieben:test=`ls -l a.bmp | awk '{print $5}'`
Damit klappt das setzen der Variable schonmal :D Danke!
rhabarber1848 hat geschrieben:man stat
stat kennt er im JtG-Image leider nicht...
SnowHead
Einsteiger
Einsteiger
Beiträge: 105
Registriert: Sonntag 6. Juni 2004, 16:04

Re: Dateigröße und Dateiname in Variable umleiten

Beitrag von SnowHead »

Ist zwar schon ein viertel Jahr her, aber vielleicht hilft's noch.

Code: Alles auswählen

#!/bin/sh

ls -al | sed -e s/' '*/' '/g > /tmp/dir.tmp
while read line
do 
	name=`echo $line | cut -d' ' -f9`
	if [ ! -d $name -a ! -h $name ]
	then 
		groesse=`echo $line | cut -d' ' -f5`
		#jetzt steht der Name in $name und die Groesse in $groesse
		echo Datei $name ist $groesse Bytes gross # Beispiel
	fi
done < /tmp/dir.tmp
rm /tmp/dir.tmp
Das echo ist nur ein Beispiel. An dieser Stelle erfolgt die Auswertung.
Es werden nur reguläre Files berücksichtigt. Keine Verzeichnisse und
keine Symlinks.
awk ist für diesen Zweck übrigens zu langsam.
-=HSKc=-Robby
Einsteiger
Einsteiger
Beiträge: 143
Registriert: Sonntag 25. Februar 2007, 20:33

Re: Dateigröße und Dateiname in Variable umleiten

Beitrag von -=HSKc=-Robby »

Danke, habe aber das Skript mit dem Tip von GetAway schon realisieren können.

Damit kann ich die Box meiner Eltern beim herunterfahren flashen. Muss nur die passende Datei vorher ins tmp-Verzeichnis der Box schieben... :D