2015-07-25 5 views
1

Как переименовать несколько пользовательских папок/файлов?Переименование нескольких папок с использованием сценария оболочки

Скажите за Ex. У меня есть несколько папок, как Krish, Мурти, Рави, Робер, и т.д ..

Я хочу, чтобы переименовать все эти каталоги как script_1, script_2, script_3 и т.д. Я пробовал ниже сценарий, но он не дает выход:

for i in * 
do 
mv $* $script_'$i' 
done 

При выполнении, он говорит, что не может двигаться, не может стат *

Пожалуйста, помогите мне пройти через это.

+0

правильно введите свой код, он не позволит мне изменить его по какой-либо причине. – dramzy

ответ

1

Это то, что вы хотите:

#! /bin/bash 
s=1 
for i in * 
do 
    mv $i "script_$s" 
    s=$((s+1)) 
done 

я в цикле представляет текущий файл/каталог; это не индекс, поэтому вам нужна отдельная переменная индексации, я назвал ее s.

0
j=1; 
for i in $(ls); do 
    mv $i script_$j && j=$[$j +1]; 
done 

for i in ... возвращает значение в i, а не индекс. Здесь я только что добавил новую переменную j как инкрементирующий индекс.

Смежные вопросы