texerasmo
18-05-2006, 12:33
questo script controlla lo spazio occupato del disco e mi dice in ordibe qual'è il file oppure la directory che occupa di più mi date una mano con la sintassi a me da questo errore
lanciando l'opzione con a
sed: espressione -e #1, carattere 10: Comando `s' non terminato
du: `ÄÄ': No such file or directory
lanciano l'opzione con f oppure d
sed: espressione -e #1, carattere 10: Comando `s' non terminato
du: `ÄÄ': No such file or directory
#!/bin/bash
function usage(){
echo "$0 {f|d|a|} [num]"
echo "Elenca file e directory in ordine di occupazione disco "
echo "- 'f' mostra solamente i file ,'d' solamente le directory e 'a' entrambi"
echo "- 'num' _ il numero di risultati visulalizzati (default 20)"
exit 0
}
if [[ $# <1 ]];then usage;fi
if [[ $1 != 'f' && $1 != 'd' && $1 != 'a' ]];then usage;else type=$1;fi
if [[ $2 == "" ]];then num=20;else num=$2;fi
count=0
du -a | sort -rn | while read line
do
obj=$(echo $line | sed -r s/"[0-9]+ *" //)
if [[ $type == 'f' && -f $obj || $type == 'd' && -d $obj || $type == 'a' ]];then
eval du -sh Ä"$objÄ"
fi
if [[ $count == $num ]]; then exit;fi
count=$(($count+1))
done
grazie
lanciando l'opzione con a
sed: espressione -e #1, carattere 10: Comando `s' non terminato
du: `ÄÄ': No such file or directory
lanciano l'opzione con f oppure d
sed: espressione -e #1, carattere 10: Comando `s' non terminato
du: `ÄÄ': No such file or directory
#!/bin/bash
function usage(){
echo "$0 {f|d|a|} [num]"
echo "Elenca file e directory in ordine di occupazione disco "
echo "- 'f' mostra solamente i file ,'d' solamente le directory e 'a' entrambi"
echo "- 'num' _ il numero di risultati visulalizzati (default 20)"
exit 0
}
if [[ $# <1 ]];then usage;fi
if [[ $1 != 'f' && $1 != 'd' && $1 != 'a' ]];then usage;else type=$1;fi
if [[ $2 == "" ]];then num=20;else num=$2;fi
count=0
du -a | sort -rn | while read line
do
obj=$(echo $line | sed -r s/"[0-9]+ *" //)
if [[ $type == 'f' && -f $obj || $type == 'd' && -d $obj || $type == 'a' ]];then
eval du -sh Ä"$objÄ"
fi
if [[ $count == $num ]]; then exit;fi
count=$(($count+1))
done
grazie