5

Я пытаюсь удалить все специальные символы из нескольких загруженных файлов .pdf и обнаружил именно то решение, которое я искал, хотя и в среде OS X:

функция автоматического удаления специальных символов из имен файлов при сохранении в MacOS X

Может ли подобный метод - с использованием sed или другой функции - быть реализован в среде Linux?

3 ответа3

11

Вы можете сделать это с помощью команды rename . Если вы находитесь в папке с файлами .pdf со специальными символами:

rename 's/[^a-zA-Z0-9]//g' *.pdf

Это приведет к удалению любых символов из файлов, заканчивающихся в .pdf , которые не являются буквами AZ в любом случае или числами. Вы можете добавить в этот список:

rename 's/[^a-zA-Z0-9_]//g' *.pdf

Эта версия позволяет подчеркнуть.

4

Для обработки всего имени файла, а также нескольких файлов:

  • Добавьте /g для обработки всего имени файла.
  • Добавьте _ чтобы заменить на подчеркивание (если требуется)
  • Добавьте любые дополнительные «типы» файлов или отдельные имена файлов в конце, разделенные пробелами.

переименуйте 's/[^ a-zA-Z0-9 _.]/_/g' * mp4 * avi

-2

для файла в *; do mv "$ file" $(повторить "$ file" | sed -e 's/[^ A-Za-z0-9. -]//g'); сделанный &

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