Переименуйте расширение многих файлов

Я хотел бы переименовать расширение .tar?h=ocdist105&=%2Fdata1%2F4070d0f0f1d62757%2Frequested_files только для .tar. Я попробовал команду

rename 's/\.tar?h=ocdist105&p=%2Fdata1%2F4070d0f0f1d62757%2Frequested_files$/.tar/' *.tar?h=ocdist105&p=%2Fdata1%2F4070d0f0f1d62757%2Frequested_files

, но, похоже, она не работает. У меня 550 файлов с этим расширением. Может кто-нибудь мне помочь? Благодаря

1
задан 28 February 2014 в 23:40

2 ответа

Возможно, вы сможете выполнить это с помощью find, exec и rename. Я уверен, что это будет работать на Ubuntu, не требуя ничего особенного.

#!/bin/bash

find /path/to/files -name "*.tar?h=ocdist105&=%2Fdata1%2F4070d0f0f1d62757%2Frequested_files" -exec rename .tar?h=ocdist105&=%2Fdata1%2F4070d0f0f1d62757%2Frequested_files .tar {} \;

Это не было протестировано, но должно работать. Вот как выглядит команда при попытке переименовать расширение .css на .txt, например; для ясности.

#!/bin/bash

find /path/to/files -name "*.css" -exec rename .css .txt {} \;

Использовать

Поместите вышеуказанный контент в файл. Предоставьте исполняемые разрешения для файла и запустите его.

Использовать

Вы можете проверить приведенную выше команду, чтобы увидеть, какой результат будет без фактических изменений добавив -n после rename.

#!/bin/bash

find /path/to/files -name "*.css" -exec rename -n .css .txt {} \;
2
ответ дан 24 May 2018 в 11:16
  • 1
    Я дал разрешения и запустил его, но он ответил, что отсутствует аргумент «-exec». Извините, но я не использую ubuntu – user253334 28 February 2014 в 22:46
  • 2
    @ user253334 убедитесь, что вы отредактировали код, где он говорит /path/to/files, с именем вашей папки. – Sajan Parikh 1 March 2014 в 00:29

Оба rename и ваша оболочка рассматривают некоторый символ как специальный. Вы должны должным образом избегать их.

Эта команда должна выполнить работу:

rename 's/\.tar\?h\=ocdist105\&\=%2Fdata1%2F4070d0f0f1d62757%2Frequested_files$/.tar/' *.tar\?h\=ocdist105\&\=%2Fdata1%2F4070d0f0f1d62757%2Frequested_files

Если вы хотите знать, как я сгенерировал эту команду, просто знайте, что табуляция является полезной друг, столкнувшись с такими проблемами.

0
ответ дан 24 May 2018 в 11:16

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

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