2

Допустим, у меня есть две папки:

ls /A/
    01 - IncorrectName.flac
    02 - otherincorrect.flac

ls /B/
    01 - CorectName.flac
    02 - Othercorrect.flac

Как бы я переместил файлы из директории A в B, но используя имена файлов из директории B?

Могу ли я сделать это автоматически с $ mv /A/01 - IncorrectName.flac /B/01 - CorrectName.flac ?

Первые 5 символов всех имен файлов всегда "NN -"

1 ответ1

4

Я не уверен, что понимаю, что вы хотите, но это может быть в bash:

#! /bin/bash
for file in "$1"/[0-9][0-9]*.flac ; do
    newname="$2"${file#"$1"}
    newname=${newname:0:5+${#2}}
    mv "$file" "$newname"*
done

Обновление: должно работать с аргументами командной строки. Хитрость была в том, что длина строки больше не была постоянной, следовательно, ${#2} .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .