3

Я использовал скрипт, который переименовал мой файл, например, 'echo webutil.olb | tr [AZ] [az] ' я хотел переименовать его обратно в webutil.olb. Как я могу сделать это для многих других файлов, которые у меня есть

3 ответа3

2

rename Debian позволяет вам указать шаблон подстановки sed для применения к именам файлов, чтобы переименовать их.

1

Предполагая, что файлы были переименованы с помощью дополнительных строк, это, вероятно, поможет:

for file in echo*
do
    new="${file#* }"    # strip up to the first space (remove "echo ")
    new="${new% |*}"    # strip the space-pipe and after (remove " | tr ...")
    mv "$file" "$new"
done

Это переименует, например, файл с буквальным именем «echo webutil.olb | tr [AZ] [az]», получив имя «webutil.olb», и будет работать для других файлов с аналогичным именем. Он ожидает, что искомые имена будут между пробелом и пробелом, за которым следует труба.

0

Для вашего примера tr оставил webutil.olb без изменений.

В общем, вы не можете этого сделать, так как теряете информацию о деле. Например, имя файла "webutil.olb" может происходить от применения tr к "WebUtil.olb" или "WEBUTIL.olb".

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