Посчитать суммарый объём файлов с расширением dbf:
Скрипт du_dbf:
#!/bin/sh
find /eis -type f -name *.dbf -exec du -km {} \;| gawk \
'{ sum += $1 }; END { print sum " Mb - summary size of dbf-files" }'
Найти самый большой по объёму файл с расширением dbf и указать его имя:
Скрипт du_dbf_max:
#!/bin/sh
find /eis -type f -name *.dbf -exec du -km {} \;| gawk \
'BEGIN { size = 0}; { if ($1 > size) {size = $1; name = $2} }; \
END { print size " Mb - max size: " name }'
Найти и выдать файлы с объёмом больше 700Mb:
Скрипт du_f_700:
#!/bin/sh
find /eis -type f -exec du -km {} \;| gawk 'BEGIN { size = 700}; \
{ if ($1 > size) { print $2 " = " $1 " Mb"} }; END {}'
Перекодировать имена файлов из одной кодировки в другую:
Скрипт iconv_currentCP:
#!/bin/bash
#Конвертация имён файлов и каталогов из заданной кодировки в текущую
if [ "$1" = ""]
then echo "Исходная кодировка не указана! Пожалуйста укажите кодировку, например cp1251 или koi8-r"; exit 1
fi
PWD=$(pwd) #Запоминаем текущий каталог
#Ищем все вложенные каталоги в текущем и отдаём их переменной цикла и
временно заменяем пробелы в названиях на \ для исключения проблем с
восприятием одного имени файла как нескольких.
for i in $(find $PWD -type d -depth | sed 's/ /\\/g')
do
#Возвращяем пробелы в имена файлов и каталогов и запоминаем в переменной dest
dest=$(echo "$i" | sed 's/\\/ /g')
cd "$dest" #Переходим в каталог
#Конвертируем имена содержимого катаога из заданной кодировки в текущую
for n in *
do
conv=$(echo "$n" | iconv -c -f "$1")
mv "$n" "$conv"
done
cd $PWD
done
Перекодировать имена файлов из одной кодировки в другую:
Скрипт iconv_UTF2koi8-r:
fuse в строчке 'sshfs#fuse@10.0.1.200' - пользователь на другой
стороне, но при таком раскладе спрашивает пароль на пользователя. Если необходимо
настраивать беспарольный автомат - надо генерить rsa или dsa ключи.
Сделать скриншот графического экрана из консоли
(используется команда import из пакета ImageMagick):
Скрипт screenshot.sh: