removido
(usa Nenhuma)
Enviado em 28/08/2010 - 19:31h
não tentei o script, mas muitas veses o problema com variaveis pode se resolver com aspas " "
tenta assim
=====================================
#!/bin/sh
#Imprime mensagem incial;
echo "\n######################################################################"
echo "Listagem de arquivos \> que 4000 bytes no diretório /etc\n"
#Imprime cabeçalho da lista que será gerada;
printf "%-30s%6s%1s%-8s%-8s%10s\n" "Nome" " Tamanho" " " "Dono" "Grupo" "Data"
printf "%-30s%6s%1s%-8s%-8s%10s\n" "------------------------------" " ------" " " " --------" "----------" "----------"
totalarqmaior=0
totalarqmenor=0
# Inicia Laço de Repetição listando através do comando [ls -l], o conteúdo do diretório /etc realizando um laço de repetição linha a linha gravando resultado na Variavel "resultLS";
ls -l /etc | while read resultLS
do
#Coleta valores listados e armazena nas variáveis definidas abaixo:
nome="$(echo $resultLS |cut -d" " -f8)"
tamanho="$(echo $resultLS |cut -d" " -f5)"
dono="$(echo $resultLS |cut -d" " -f3)"
grupo="$(echo $resultLS |cut -d" " -f4)"
data="$(echo $resultLS |cut -d" " -f6)"
#if [ $tamanho is null ]; then - entender como verifica se a variavel esta vazia
if [ "$tamanho" -gt 4000 ]; then
printf "%-30s%6s%1s%-8s%-8s%10s\n" "$nome" "$tamanho" " " "$dono" "$grupo" "$data"
totalarqmaior="$((totalarqmaior+1))"
else
totalarqmenor="$((totalarqmenor+1))"
fi
done
#Imprime na tela mensagem com o número de arquivos listados:
echo "Total de Arquivos > 4000 bytes que foram listados: $totalarqmaior"
#Imprime na tela mensagem com o número de arquivos menores que 4000 que não foram listados:
echo "Total de Arquivos <= 4000 bytes que não foram listados: $totalarqmenor"
echo "######################################################################\n"
#Fim do laço de repetição
===========================================