Обработка имен файлов, содержащих дефис, внутри скрипта

У меня мало файлов, которые были неправильно закодированы, во время извлечения имена файлов теперь становятся чем-то похожим на -a -b ,

Теперь я пытаюсь решить эту проблему:

convmv -f ENCODING -t utf8 --notest *

Но получил:

 Unknown option: a Unknown option: b 

Итак, каков правильный способ справиться с этим, в скрипте?

  • Таблицы реформатов
  • Игнорировать первые строки x при выполнении сценария?
  • Как найти разные файлы в UNIX на основе. расширение?
  • Скрипт инициализации запускается дважды в SSH
  • Странные ведущие пробелы в OPTARG при использовании getopts
  • Переменная Shell variable vs. Environment, какая из них предпочтительна, если оба имеют одно и то же имя?
  • Как форматировать файл во время перемещения?
  • В чем разница между «du -sh *» и «du -sh ./*»?
  • One Solution collect form web for “Обработка имен файлов, содержащих дефис, внутри скрипта”

    Потому что -a и -b начинаются с - команда думает, что это опции. Чтобы предотвратить эту палочку a -- перед списком имен файлов, подобных этому:

     convmv -f ENCODING -t utf8 --notest -- * 

    Таким образом, все после -- будет рассматриваться как регулярные аргументы, не пытаясь обработать их как параметры.

    Это часто встречается во многих командах unix.

    Linux и Unix - лучшая ОС в мире.