Пакетное переименование файлов по отдельному файлу ID

420
Antonis G

Я работаю с Ubuntu 16, и у меня есть каталог с сотнями файлов с уникальными именами файлов.

Я хотел бы переименовать их в соответствии с отдельным файлом ID.

Например:

Оригинальный каталог

FileA.ext FileB.ext FileC.ext IrrelevantFile.txt etc 

ID-файл

FileA.ext File1.ext FileB.ext File2.ext FileC.ext File3.ext etc 

Преобразованный каталог

File1.ext File2.ext File3.ext IrrelevantFile.txt etc 

Обратите внимание, что исходный каталог содержит файл с отдельным расширением ( IrrelevantFile.txt), который не включен в файл идентификатора. Поэтому скрипт Bash должен строго полагаться на файл идентификатора и переименовывать только те файлы, которые там присутствуют.

Можете ли вы помочь?

0
Просто прочитайте файл идентификатора и переименуйте только те файлы, которые явно указаны в этом файле? С чем именно у вас проблемы? Seth 5 лет назад 1
В строке cmd `for / F 'usebackq tokens = 1,2"% A in ("ID.txt") Делать, если существует% A REn% A% B` в пакете, удваивать знаки прецента. LotPings 5 лет назад 0
@ Моя проблема в том, что я новичок в Баше. Antonis G 5 лет назад 0
@LotPings Большое спасибо за усилия, попробуйте! Antonis G 5 лет назад 0
Эта команда предназначена для Windows cmd / batch, а не для bash. Ваши теги неоднозначны. LotPings 5 лет назад 0
@LotPings Спасибо, как мне настроить bash? Antonis G 5 лет назад 0
@AntonisG Вам просто нужно нажать на ссылку [edit] (// superuser.com/posts/1337881/edit) внизу вашего вопроса, чуть выше комментариев. (Я уже сделал это для вас на этот раз ;-)) robinCTS 5 лет назад 0
Я еще не очень знаком с bash, `пока читаю из барахла; do mv - "$ from" "$ to"; сделано <"ID.txt" ` LotPings 5 лет назад 1

0 ответов на вопрос

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