Почему я не могу использовать эту команду для командной строки?

Вывод man icc содержит

  -Ldir Tells the linker to search for libraries... 

Делать man icc | grep "\-L" man icc | grep "\-L" возвращает строку "-Ldir", а man icc | grep "\-Ldir" man icc | grep "\-Ldir" нет. Что я здесь делаю неправильно?

  • Регулярное выражение grep, чтобы избежать совпадения точки с запятой в конце
  • Почему это найти -L ... fgrep не удается?
  • Скрипт для быстрого тестирования всех клавиш клавиатуры
  • Есть ли другой способ использовать tail -f для работы grep -q &&?
  • Как найти адрес в большом файле с grep?
  • grep с количеством отдельных паттернов
  • Есть ли способ найти установленные бинарные пакеты, которые не имеют manpages?
  • Перенаправить вывод ошибки grep в файл
  • Разбор многомерных данных в параграфах
  • grep для escape-кода ANSI
  • Скопируйте только файлы и только строки, содержащие строку, сохраняя структуру каталогов
  • Есть ли графическая программа Linux, которая отображает man-команды в браузере?
  • 2 Solutions collect form web for “Почему я не могу использовать эту команду для командной строки?”

    Ваша вторая команда не работает, потому что между L и dir существует, возможно, непечатаемый символ. Я не могу сказать, что, поскольку у меня нет icc или его man-страницы, но вы можете проверить это, выполнив

     man icc | grep '\-L' | od -c 

    Это, вероятно, покажет что-то между -L и dir .

    Кстати, многие программы, в том числе использование grep -- для обозначения конца опций и всего после -- не анализируются как опция. Поэтому вам не нужны кавычки:

     man icc | grep -- -L 

    http://scv.bu.edu/computation/bladecenter/manpages/icc.html

    Показывает страницу руководства как

     -L<dir> 

    и не

     -Ldir 

    Что делает человек icc | grep "\ -L.dir" return?

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