Page 1 of 1
zeilen summieren | ausgabe einer datei in variable setzen
Posted: 2003-05-29 15:16
by inswe.de
moin,
ich hab 2 sachen, wo ich auch mit hilfe von google nich weiter komme.
also, hab nen shell script hier, dass per
das ls in eine temporäre datei packt,
daraus lese ich die 5. spalte mit
Code: Select all
while read D1 D2 D3 D4 D5 REST ; do
aus.
nun möchte ich alle zeilen summieren lassen,
per
oder
blieb ich aber bisher erfolglos. kann mir da jmd. helfen?
zu meiner 2. frage:
ich möchte in einem anderen script die ausgabe des o.a. scriptes (eine ganze zahl) in eine variable legen, um diese z.b. in eine "if" schleife zu legen.
Code: Select all
if $AUSGABE-AUS-ERSTEM-SCRIPT < $ZAHL-AUS-EINER-BESTIMMTEN-DATEI then bla
Re: zeilen summieren | ausgabe einer datei in variable setzen
Posted: 2003-05-29 15:26
by Anonymous
Du kennst du?
Karlo
Re: zeilen summieren | ausgabe einer datei in variable setzen
Posted: 2003-05-29 15:54
by Anonymous
Hast Glueck das mich das interessiert hat :-)
typeset -i D5
typeset -i SUM
while read D1 D2 D3 D4 D5 REST
do
echo $D5
SUM=`expr $SUM + $D5`
done < <(ls -l)
echo Summe = $SUM
Karlo
Re: zeilen summieren | ausgabe einer datei in variable setzen
Posted: 2003-05-29 16:23
by inswe.de
Karlo wrote:Du kennst du?
Karlo
sicher, ich will als ausgabe aber
nur eine ganze zahl
Karlo wrote:Hast Glueck das mich das interessiert hat
typeset -i D5
typeset -i SUM
while read D1 D2 D3 D4 D5 REST
do
echo $D5
SUM=`expr $SUM + $D5`
done < <(ls -l)
echo Summe = $SUM
Danke, werds gleich mal probieren.
Re: zeilen summieren | ausgabe einer datei in variable setzen
Posted: 2003-05-29 16:32
by inswe.de
Karlo wrote:Hast Glueck das mich das interessiert hat :-)
done < <(ls -l)
Karlo
Das ergibt folgenden fehler:
Code: Select all
./usage.sh: line 13: syntax error near unexpected token `<('
./usage.sh: line 13: `done < <(ls -l)'
lass ich diese zeile auf
stehen, funktioniert es halbwegs, und zwar
nur. wenn ls mit $* angegeben ist, also im aktuellen verzeichnis:
ändere ich das verzeichnis oder benutze (usage.sh ist das script)
ergibt das ganze
Edit:
hier mal als beispiel:
script:
Code: Select all
#!/bin/sh
# Calculate the amount of space used by the specified files
# Default is the actual directory
SUM=0
TMPF=$HOME/temp.usage
ls -l $* >$TMPF
typeset -i D5
typeset -i SUM
while read D1 D2 D3 D4 D5 REST ; do
# SUM=`expr $SUM + $D5 / 1024`
#echo $D5
SUM=`expr $SUM + $D5 / 1048576`
done < $TMPF
echo "$SUM MB"
rm $TMPF
und das ergebnis:
Code: Select all
[root@platon root]# ./usage.sh
12 MB
[root@platon root]# ./usage.sh /www
0 MB
[root@platon root]# ./usage.sh /www/
0 MB
[root@platon root]#
Re: zeilen summieren | ausgabe einer datei in variable setzen
Posted: 2003-05-29 16:45
by Anonymous
#!/bin/sh
versuch mal bin/bash
bei mir laeuft das Beispiel einwandfrei
Karlo
Re: zeilen summieren | ausgabe einer datei in variable setzen
Posted: 2003-05-29 16:54
by inswe.de
Karlo wrote:#!/bin/sh
versuch mal bin/bash
bei mir laeuft das Beispiel einwandfrei
Karlo
auch
bringt es nicht.
könntest du mir bitte mal deine version des scriptes pasten und wie du das script startest?
so starte ich es:
Code: Select all
[root@platon root]# ./usage.sh
12 MB
[root@platon root]# ./usage.sh /www
0 MB
[root@platon root]#
und das verz (z.b. /www) ist nicht leer!