Уважаемый All,
все мы по долгу службы или просто для своего удобства
вынуждены писать различные скрипты для различных целей, будь то
автоматическая инсталяция продуктов на несколько машин или вещи
попроще. Вот я и подумал, что зачем сто раз писать то, что уже
давно написано и во что вложено достаточно труда и времени.
Давайте устроим здесь своеобразный ⌠пункт обмена■, неопытные
пользователи скажут Вам спасибо и смогут сразу использовать
скрипты, а опытные смогут сэкономить себе немного времени,
головной боли, а также поучится новым программистским приемам.
Для затравки выложу здесь небольшой (большой в заголовке темы,
думаю могут не пропустить) скрипт, который упорядывачивает вывод
от стандартной команды df (для Линукса это, может не так актуально,
а мне на Солярисе 2.6 очень даже помогает.) внутри ещё чего покидаю...
Так что, продолжение следует?..
!/bin/ksh -p
if [ $# = 0 ] ; then
print - "`df -k | head -1 ;
df -k | tail +2 | egrep -v '^\/dev\/dsk|^\/dev\/md' | sort -k 1 ; \
df -k | egrep '^\/dev\/dsk|^\/dev\/md' | sort -k 1 ; \
df -k | \
awk '{a+=$2} {b+=$3} {c+=$4} END \
{printf \"TOTAL %-8d %-7d %-7d %5d%%\n\", \
a,b,c,100-((c/a)*100)}'`" | \
sed 's/Mounted on/MountPoint/' | \
nawk '{for (i=length($0);i;i--) printf "%c", substr($0,i,1); printf "\n"}' | \
sed -e "s/\([0-9][0-9][0-9]\)\([0-9][0-9][ 0-9]\)/\1,\2/g" -e \
"s/\([0-9][0-9][0-9]\)\([0-9][0-9]\ )/\1,\2/g" -e \
"s/\([0-9][0-9][0-9]\)\([0-9]\)/\1, \2/g" | \
nawk '{for (i=length($0);i;i--) printf "%c", substr($0,i,1); printf "\n"}' > \
/tmp/DF.$$
else
print - "`df -k $@ ; df -k $@ | \
awk '{a+=$2} {b+=$3} {c+=$4} END \
{printf \"TOTAL %-8d %-7d %-7d %5d%%\n\", \
a,b,c,100-((c/a)*100)}'`" | \
sed 's/Mounted on/MountPoint/' | \
nawk '{for (i=length($0);i;i--) printf "%c", substr($0,i,1); printf "\n"}' | \
sed -e "s/\([0-9][0-9][0-9]\)\([0-9][0-9][ 0-9]\)/\1,\2/g" -e \
"s/\([0-9][0-9][0-9]\)\([0-9][0-9]\ )/\1,\2/g" -e \
"s/\([0-9][0-9][0-9]\)\([0-9]\)/\1, \2/g" | \
nawk '{for (i=length($0);i;i--) printf "%c", substr($0,i,1); printf "\n"}' > \
/tmp/DF.$$
fi
while read Filesystem kbytes used avail capacity MountedOn ; do
printf "%-38.38s %11.11s %11.11s %11.11s %5.5s %-18.18s\n" \
$Filesystem $kbytes $used $avail $capacity $MountedOn | \
sed 's/MountPoint/Mounted on/g'
done < /tmp/DF.$$
rm -f /tmp/DF.$$
#df-sum
hostnm=`hostname`
dfbinary="/bin/df -kl"
disksum=`$dfbinary | grep dev | awk '{t += $2; u += $3} \
END { printf("%d %d",t,u) }'`
printf "================================== ======================================== ======================\n"
printf "TOTAL local for \033[1m%-8s\033[0m in kbytes\n" $hostnm
printf "%50d %11d\n" $disksum
exit 0
Ответ на:
комментарий
от Android
Ответ на:
комментарий
от anonymous
12 сентября 2002 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Помощь с редактированием скрипта (2016)
- Форум OpenVZ7, исчезло место в контейнере. (2023)
- Форум Кто сожрал память? (2024)
- Форум [Велосипед][Быдлокод] Скрипт для отмонтирования носителей через меню (2010)
- Форум Делюсь bash скриптом с: lsblk, mount, umount, parted, mkntfs (2016)
- Новости Скрипты, которые мы пишем... (2002)
- Форум Что-то не так с виджетом (2021)
- Форум Re: Скрипты, которые мы пишем... (2002)
- Форум mkisofs / k3b делает битый UDF образ (2013)
- Форум Куда-то подевалось место в корне, du ничего не показывает, lsof тоже (2020)