[рещено] Помощь по скрипту.

Добрый день.
Подскажите пожалуйста.Как реолизовать задуманное, практика.
Хочеть написать скрипт по переименовки файлов но с выблором имени и директории.
Застрял на передачи переменной 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

bagas написал(а):
echo -n «Введите разширение файла пример:doc: «; read FIL
...
for f in find -type f -name '*.$FIL';

Работать НЕ будет.

Все мы, рано или поздно, будем там...

Выбы хотябы пояснили почему!

Выбы хотябы пояснили почему!

Что бы ты не делал , жизнь слишком коротка!
Блог о 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 системах.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".