Сценарий для копирования файлов с нужным именем

У меня проблема, с которой я сталкиваюсь в течение 6-7 часов, и я не могу ее преодолеть, поэтому я прошу вас о помощи. Мне нужно создать сценарий bash, который обращается к папке и переименовывает все файлы из него с новым именем, за которым следует число, которое представляет алалфабетический иерархию и новое расширение.

Параметры находятся в следующем порядке: (новое имя, новое расширение и папка, где я ищу). В качестве примера: ./rename.sh work .txt Documents. Предположим, что первоначально документ (Documents) содержал: a.txt b.txt c.txt. Поэтому, при выполнении сценария в документе будет содержаться следующее: work01.txt ( from.txt) work02.txt (from b.txt) work03.txt (from c.txt)

Проблема в том, что я как-то дублирую файлы, и я создаю большой беспорядок. Вот сценарий (rename.sh):

#!/bin/bash
if [ -z "$3" ]
   then
    echo "No argumets supplied"
   else
    mic="0"
    i="1"
    max="9"
    for file in `ls $3 | sort -V`; do
        if ( test $i -le 9)
          then
            cp $3/$file $3/$1$mic$i.$2
            rm -r $3/$file
          else
            if ( test $i -ge 9 )
              then          
                cp $3/$file $3/$1$i.$2
                rm -r $3/$file
                fi
          fi
        i=$((i+1))  
    done
    echo "$max"
fi
1
задан 10 January 2016 в 19:38

0 ответов

Другие вопросы по тегам:

Похожие вопросы: