Преименуване разширението на множество файлове през конзола

Transmission - Rename added extention
Често ми се налага да преминавам от Linux към Windows и обратно. И под двете операционни системи ползвам Transmission за торент клиент. Настроил съм го под Linux да зарежда торент-файловете от директория на версията за Windows. Проблема е, че в такива случаи Transmission под Linux добавя разширението “*.added” на торент файловете. Ако файловете са десетки, трябва да се помисли за автоматизирано преименуване, за да не се губи време. Прилагам няколко варианта, които вършат работата за премахване на *.added разшиернието:

  • Чист Bash:
    for file in *.added; do mv "$file" "${file%.added}"; done;
  • с командата rename (не съм октрил читава версия за Windows, освен в CygWin):
    rename 's/.added$//' *.added

    Или още по-просто:

    rename .sss .txt *.sss
  • с командата mmv – инструмент за масивно местене на файлове по определени критерии
    Ако го няма във вашата Linux дистрибуция, можете да си го добавите. Примерно за Ubuntu:

    sudo apt-get install mmv

    Ако използвате CygWin под Windows, ще трябва да го инсталирате с инсталатора:
    mmv - rename multiple files
    След като го имаме наличен, можем да разкарваме разширения така:

    mmv '*.added' '#1'

    Ако искаме да преименуваме разширения:

    mmv '*.html' '#1.txt'

В случая не преименувам, а премахвам разширението. Но командите спокойно могат да се ползват за преименуване.
Под Windows използвам конзолата на CygWin – страхотен Unix емулатор за Windows.

Share and Enjoy !

Shares