Помощь по скрипту.

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
bagas
лейтенант
Сообщения: 922
Зарегистрирован: 2010-08-18 19:49:01
Откуда: Воронеж
Контактная информация:

Помощь по скрипту.

Непрочитанное сообщение bagas » 2011-04-23 16:10:26

Добрый день.
Подскажите пожалуйста.Как реолизовать задуманное, практика.
Хочеть написать скрипт по переименовки файлов но с выблором имени и директории.
Застрял на передачи переменной read , ввода клавиши. как мне сделать непойму выборку по переменной...тоесть если к примеру 1 то выбираеться дата. и подставляеться к переименовке
mv -n "$f" "$n1/$DATE.$FIL".
Подскажи как лучше сделать.

Код: Выделить всё

#!/bin/sh
        NUM_MV=0
#
#
echo -n «Введите путь к директории поиска пример:/home/: «; read DIRR
        cd $DIRR
#
echo -n «Введите разширение файла пример:doc: «; read FIL
#
        echo "1 Формат даты Д.М.Г."
        echo "2 нарастающее число"
        echo -n «Выберети новое название файлу Дата или нарастающее число: «; read num
#
case $num in
       1) DATE=`date +"%Y-%m-%d"`
       2) FON=`$((++i))`
esac
#
IFS=$'\n'
        for f in find -type f  -name '*.$FIL';
do
unset IFS
        n=`echo "$f" | cut -f1 -d .`
        n1=`$DIRR`
        mv -n "$f" "$n1/$DATE.$FIL"
        let "NUM_MV += 1"
done
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

rmn
старшина
Сообщения: 427
Зарегистрирован: 2008-10-03 18:52:02

Re: Помощь по скрипту.

Непрочитанное сообщение rmn » 2011-04-23 18:49:26

Код: Выделить всё

...
DATE="`date +"%Y-%m-%d"`"
...
n=`echo "$f" | cut -f1 -d .`
n1=`$DIRR`
case $num in
       1) PREFIX="${DATE}"
       2) PREFIX="${NUM_MV}"
esac
mv -n "$f" "$n1/$PREFIX.$FIL"
NUM_MV="`expr ${NUM_MV} + 1`"
...

Аватара пользователя
bagas
лейтенант
Сообщения: 922
Зарегистрирован: 2010-08-18 19:49:01
Откуда: Воронеж
Контактная информация:

Re: Помощь по скрипту.

Непрочитанное сообщение bagas » 2011-04-23 19:00:04

хмм, так просто, сейчас обкатаем,
Спасибо.
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.

Аватара пользователя
bagas
лейтенант
Сообщения: 922
Зарегистрирован: 2010-08-18 19:49:01
Откуда: Воронеж
Контактная информация:

Re: Помощь по скрипту.

Непрочитанное сообщение bagas » 2011-04-23 21:13:53

rmn писал(а):

Код: Выделить всё

...
DATE="`date +"%Y-%m-%d"`"
...
n=`echo "$f" | cut -f1 -d .`
n1=`$DIRR`
case $num in
       1) PREFIX="${DATE}"
       2) PREFIX="${NUM_MV}"
esac
mv -n "$f" "$n1/$PREFIX.$FIL"
NUM_MV="`expr ${NUM_MV} + 1`"
...
Спасибо разобрался.

Код: Выделить всё

#!/bin/sh
	X=1
	DATE=`date +"%Y-%m-%d"`
	NUM_MV=0
#
echo -n «Введите путь к директории поиска пример:/home/: «; read DIRR
#
echo -n «Введите разширение файла пример:doc: «; read FIL
#
	echo "1 Формат даты Д.М.Г."
	echo "2 Числовое повышение"
	echo -n «Выберети новое название файлу на Дата или нарастающее число: «; read num
#
#
FINDS=`find $DIRR -type f -name *.$FIL`
IFS=$'\n'
    	for f in $FINDS;
do
unset IFS
#   	n=`echo "$f" | cut -f1 -d .`
	n=`dirname "$f"`
        case $num in
       1) PREFIX=${DATE};;
       2) PREFIX=${X};;
	esac
        mv -n "$f" "$n/$PREFIX.$FIL"
	X=$(($X+1));
        let "NUM_MV += 1"
done
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.