|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Sergey Matveychuk 2:5020/52 25 Aug 2000 15:53:46 To : All Subject : Re: Как переименовать группу файлов? --------------------------------------------------------------------------------
>Dmitry Savchenko wrote:
>>
>> Приветствую всех!
>>
>> Hужен скрипт, периодически запускаемый cron'ом, который бы переносил все
>> файлы с заданным расширением из одной директории в другую, меняя при этом
>> расширение на другое. Причем корректно должна обрабатываться ситуация когда
>> исходная папка пуста.
>>
>> Помогите, плиз.
>
> Вариант 1. Платишь мне за эту работу, например, 100 баксов. Хотя нет,
>мало... Пусть будет 200.
>
> Вариант 2. Берешь литературу, тратишь 20 минут и получаешь
>удовольствие. Рекомендую старую-старую книжку Кернигана и Пайка "Unix -
>универсальная среда программирования". Можно еще напустить man на твой
>любимый шелл.
Вариант 3. Идешь в comp.unix.shell, берешь там FAQ и выдираешь от туда
этот скрипт:
- ---------------------------------------------
#!/bin/ksh
# (C) {Fred,Michael}@hal6000.thp.Uni-Duisburg.DE 1992,93
G= LU= N=
while getopts nglu name ; do
case $name in
n) N=n;;
g) G=g;;
l|u) LU=$name;;
esac
done
shift `calc $OPTIND - 1`
[ "$LU" -a "$1" -o "$3" ] || {
echo "Usage: `basename $0` [-n] [-g] regexp1 regexp2 file ..."
echo " or: `basename $0` [-n] {-l|-u} file ..."
exit 1
}
[ -z "$LU" ] && { FROM="$1" TO="$2"; shift 2;}
for i in "$@"; do
if [ ! -r "$i" ];then
echo "$i not found."
else
if [ "$LU" ];then
if [ "$LU" = "l" ]; then
TARGET=`echo $i|tr "[A-Z]" "[a-z]"`
else
TARGET=`echo $i|tr "[a-z]" "[A-Z]"`
fi
else
TARGET=$(echo $i|sed "s/$FROM/$TO/$G")
fi
CMD="/bin/mv -i '$i' '$TARGET'"
if [ "$i" != "$TARGET" ];then
if [ "$N" ];then
echo "$CMD"
else
eval "$CMD"
fi
fi
fi
done
exit 0
- --------------------------------------------------
--- Forte Agent 1.7/32.534
* Origin: CIAM (2:5020/52.0)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/808059b23e108.html, оценка из 5, голосов 10
|