![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí. |
Más UNIX y Linux Foro Temas usted puede encontrar útiles
|
||||
| Hilo | Hilo para principiantes | Foro | Respuestas | Último mensaje |
| tirar con fuerza de error: unix script | dr46014 | UNIX for Dummies Preguntas y Respuestas | 1 | 10-01-2008 04:42 AM |
| awk script error: "Error de sintaxis:" Split "inesperado | Herry | UNIX for Dummies Preguntas y Respuestas | 2 | 03-17-2008 11:16 AM |
| Error al intentar un incendio PL / SQL de secuencias de comandos de Unix Thro | dharmesht | Programación de scripts de shell y | 5 | 12-11-2003 10:10 AM |
| UNIX de registro de errores | eysheikah | Seguridad | 3 | 05-31-2003 09:21 AM |
| SCO UNIX error 6, AYUDA | PBNOSGT | UNIX for Dummies Preguntas y Respuestas | 0 | 02-01-2002 11:46 AM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Error de secuencias de comandos en Unix
Hola!
Lo que sigue es la secuencia de comandos para encontrar el número de usuarios y el espacio total consumida por ellos en el directorio Pero estoy recibiendo pocos errores, Pls que me ayude Código:
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
Los errores se Q3: 7: declarar: que no se encuentra q3: 9: Error de sintaxis: palabra inesperados (esperando "hacer") Última edición por joyrules; al 03-18-2009 10:39 AM.. Motivo: formato script |
|
||||
|
Agin de comandos de formato
Código:
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
|
|
||||
|
Gracias
Gracias Joyeg
|
|
||||
|
¿Qué versión de Unix / Linux?
uname-a Que concha? ¿Se trata de "sh", "ksh", "bash" o qué? echo $ SHELL Por favor, mostrar un ejemplo de lo que la salida de la secuencia de comandos debe ser similar y si usted cuenta los tamaños de directorios, así como el tamaño de los archivos hacia el total de cada usuario. Sírvase indicar si hay subdirectorios en el directorio que se desea analizar. |
|
||||
|
Hola Joyeg ....
Intente esto: Código:
#!/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
Además, para declarar su error, pruebe a ejecutar su script en el shell bash. |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|