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

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

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

  • cat в stdin, тогда труба в программу держит раздвоенную оболочку открытой, почему?
  • Как я могу надежно найти полный путь программы в PATH?
  • Как сгруппировать строки в файл двумя?
  • Есть что-то вроде генератора lorem ipsum?
  • Предотвращение расширения параметра несколько раз
  • Есть ли способ приостановить процесс, который принадлежит оболочке A, а на переднем плане - в оболочке B?
  • convmv -f ENCODING -t utf8 --notest *

    Но получил:

     Unknown option: a Unknown option: b 

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

  • Стандартное предпочтение исполняемого файла над встроенными модулями с тем же именем
  • Тар список файлов, которые не все существуют
  • Как скрипт / программа выполняется в unix?
  • Последняя неудачная команда в bash
  • Как просмотреть файлы и каталоги точки монтирования
  • Как перезаписать файлы-мишени с помощью mv?
  • One Solution collect form web for “Обработка имен файлов, содержащих дефис, внутри скрипта”

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

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

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

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

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