![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| krachtig gooien fout: Unix-script | dr46014 | UNIX voor Dummies Questions & Answers | 1 | 10-01-2008 04:42 |
| awk shell script error: "Syntaxisfout:" Split "onverwachte | Herry | UNIX voor Dummies Questions & Answers | 2 | 03-17-2008 11:16 |
| Error while trying to brand een PL / SQL doorgaand Unix Script | dharmesht | Programmeren en Shell Scripting | 5 | 12-11-2003 10:10 |
| UNIX foutenlogboek | eysheikah | Beveiliging | 3 | 05-31-2003 09:21 |
| SCO UNIX-fout 6, HELP | PBNOSGT | UNIX voor Dummies Questions & Answers | 0 | 02-01-2002 11:46 |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Fout in Unix-script
Hoi! Hierna volgt het script om het aantal gebruikers te vinden en de totale ruimte die wordt verbruikt door hen in de directory Maar ik krijg weinig fouten Pls help me Code:
data=`ls -lt $1 |tr -t [' '] ['\t']|tr -s '\t'|cut -f3,5`
count=0
flag=1
sum=0
users_flag=1
check=0
declare -a users
for a in $data
do
if [ $users_flag -eq 1 ]
then
for ((i = 0; $i <= count; $i++))
do
if [ $a = ${users[$count]} ]
then
flag=0
break
fi
done
if [ $flag -eq 1 ]
then
users[$count]=$a
count=expr`$count + 1`
echo $a >> userdata
fi
users_flag=0
else
if [ $flag -eq 1 ]
then
for b in $data
do
if [ $check -eq 0 ]
then
if [ $b = $a ]
then
check=1
fi
else
sum=`expr $sum + $b`
check=0
fi
done
fi
fi
done
Fouten worden Q3: 7: te verklaren: niet gevonden Q3: 9: Syntax error: word unexpected (verwacht "do") Laatst gewijzigd door joyrules; op 03.18.2009 10:39.. Reden: Opgemaakte script |
|
||||
|
Agin Script Formatted
Code:
data=`ls -lt $1 |tr -t [' '] ['\t']|tr -s '\t'|cut -f3,5`
count=0
flag=1
sum=0
users_flag=1
check=0
declare -a users
for a in $data
do
if [ $users_flag -eq 1 ]
then
for ((i = 0; $i <= count; $i++))
do
if [ $a = ${users[$count]} ]
then
flag=0
break
fi
done
if [ $flag -eq 1 ]
then
users[$count]=$a
count=expr`$count + 1`
echo $a >> userdata
fi
users_flag=0
else
if [ $flag -eq 1 ]
then
for b in $data
do
if [ $check -eq 0 ]
then
if [ $b = $a ]
then
check=1
fi
else
sum=`expr $sum + $b`
check=0
fi
done
fi
fi
done
|
|
||||
|
Welke versie van Unix / Linux?
uname-a Welke schaal? Is dit "sh", "ksh", "bash" of wat? echo $ SHELL Gelieve aan te tonen een voorbeeld van wat de output van het script eruit moeten zien en aangeven of u rekenen directory grote alsmede ten aanzien van de grootte bestand per gebruiker totaal. Gelieve te vermelden of er submappen in de map die u wilt analyseren. |
|
||||
|
Hi Joyeg .... Probeer dit uit: Code:
#!/bin/bash
declare -a name_arr
declare -a size_arr
i=0
for files in `ls`
do
name=`ls -l $files | awk '{print $3}'`
size=`ls -l $files | awk '{print $5}'`
if [ $i -eq 0 ]
then
name_arr[$i]=`echo $name`
size_arr[$i]=`echo $size`
i=`expr $i + 1`
else
j=0
while [ $j -lt $i ]
do
if [ "${name_arr[$j]}" = "$name" ]
then
size_arr[$j]=`expr ${size_arr[$j]} + $size`
break
else
name_arr[$i]=`echo $name`
size_arr[$i]=`echo $size`
i=`expr $i + 1`
fi
j=`expr $j + 1`
done
fi
done
j=0
while [ $j -lt $i ]
do
echo "${name_arr[$j]} : ${size_arr[$j]}"
j=`expr $j + 1`
done
Lemme know incase van enig probleem Ook voor uw verklaren fout, probeer het uitvoeren van uw script in bash-shell. |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|