Как использовать имена файлов, начинающиеся с тире & ldquo; - & rdquo; как аргументы команды?

Это может быть простой вопрос, но как использовать файлы, начинающиеся с «-» с помощью программ командной строки?

Например, я пытаюсь использовать pdfgrep в файле с именем -2013-01-01.pdf, но он жалуется, что нет параметров, определенных для 2, 0, 1, 3 и т. д.

Изменение имени файла на то, что не начинается с «-», решает его, но это не вариант, поскольку файлы не созданы мной. Я просто хочу проверить конкретное изменение, которое, как мне известно, приходит.

1
задан 16 February 2017 в 06:45

1 ответ

Вы добавляете имя файла с помощью ./ (или работает другой относительный или абсолютный путь). Таким образом, он переносится.

Пример:

for zefile in ./*.tmp
do
   rm -f "$zefile"
done

Использование -- для указания конца опций не всегда доступно. Некоторые команды узнают об этом, а некоторые - нет. И это изменится в разных системах. Поэтому, в конце концов, он менее портативен.

15
ответ дан 24 May 2018 в 23:51

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

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