[рещено] Помощь по скрипту.
bagas 23 апреля, 2011 - 18:14
Добрый день.
Подскажите пожалуйста.Как реолизовать задуманное, практика.
Хочеть написать скрипт по переименовки файлов но с выблором имени и директории.
Застрял на передачи переменной 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
Это пример, я просто хочу понять как сделать выборку из 2 чисел. тоесть если ввели 1 то по циклу подставилось значение $DATE в mv -n "$f" "$n1/$DATE.$FIL"
»
- Для комментирования войдите или зарегистрируйтесь

bagas написал(а): echo -n
Работать НЕ будет.
Все мы, рано или поздно, будем там...
Выбы хотябы пояснили почему!
Выбы хотябы пояснили почему!
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.
потому что в одинарных
потому что в одинарных кавычках не выполняется подстановка переменных
Нейтральность - высшее достижение сознания!
#!/bin/sh X=1 DATE=`date
#!/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 системах.