einzeiler variable übergeben

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
psymon
Beiträge: 13
Registriert: 26.03.2006 15:43:38

einzeiler variable übergeben

Beitrag von psymon » 30.11.2006 22:24:00

abend

ich mach mir grad schon die ganze zeit ein pilz wie ich die größe (nur die größe) einer datei einer variable übergeben kann. Ich bin jetzt auf diese, zugegeben etwas abstrakte "lösung" gekommen:

Code: Alles auswählen

$SIZE=du /tmp/log/versuchsfile | tr -s [:blank:] " " | cut -d " " -f 1
so im xterm eingegeben klappt das ganz gut:

Code: Alles auswählen

du /tmp/log/versuchsfile | tr -s [:blank:] " " | cut -d " " -f 1
nur wie kann ich den wert dann der variable übergeben?

gruß

psymon

Benutzeravatar
Mike1985
Beiträge: 148
Registriert: 01.05.2005 14:38:11
Wohnort: Lienz / Austria
Kontaktdaten:

Beitrag von Mike1985 » 30.11.2006 22:47:02

Hallo!
Wenn ich dich richtig verstehe, möchtest du so etwas:

Code: Alles auswählen

export SIZE="`ls -l | gawk '{print $5}'`"
und dann kannst du das Ergebnis mit

Code: Alles auswählen

echo $SIZE
ausgeben!

mfg

Benutzeravatar
goeb
Beiträge: 348
Registriert: 26.08.2006 18:12:08
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von goeb » 30.11.2006 23:03:23

Etwas kürzer (als im OP):

Code: Alles auswählen

X=`ls -l .bashrc | awk '{print $5}'`
echo size=$X
.bashrc natürlich ersetzen durch welche Datei auch immer.

MfG, goeb

Edit: zu spät...

psymon
Beiträge: 13
Registriert: 26.03.2006 15:43:38

Beitrag von psymon » 01.12.2006 08:37:09

Danke Mike1985,goeb

das ist genau das was ich gebraucht habe (awk...)


gruß
psymon

yeti

Beitrag von yeti » 01.12.2006 08:55:09

awk scheint mir da etwas Overkill... und auch ohne Pipe geht's...

Code: Alles auswählen

(yeti@vash:1)~$ ls -l fun/hatschi.jpg 
-rw-r--r--  1 yeti yeti 85231 2006-09-18 04:57 fun/hatschi.jpg
(yeti@vash:1)~$ X=$(find fun/hatschi.jpg -printf '%s')
(yeti@vash:1)~$ echo $X
85231

Antworten