Программирование на 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
bagas
-
Хостинг HostFood.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
Непрочитанное сообщение
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`"
...
rmn
-
bagas
- лейтенант
- Сообщения: 922
- Зарегистрирован: 2010-08-18 19:49:01
- Откуда: Воронеж
-
Контактная информация:
Непрочитанное сообщение
bagas » 2011-04-23 19:00:04
хмм, так просто, сейчас обкатаем,
Спасибо.
bagas
-
bagas
- лейтенант
- Сообщения: 922
- Зарегистрирован: 2010-08-18 19:49:01
- Откуда: Воронеж
-
Контактная информация:
Непрочитанное сообщение
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
bagas