grep для нахождения “печати” не “#print”

Это в процессе. Движение к http://wiki.debian.org/Hardening приводит к http://wiki.debian.org/ReleaseGoals/SecurityHardeningBuildFlags, который приводит к сообщению Raphael Hertzog к debian-devel-announce, от имени dpkg разработчиков. См., что параграф начинается

* dpkg-buildflags now returns hardening build flags by default

Так, эта функция может быть в следующем выпуске.

3
13.03.2013, 17:36
4 ответа
grep '^[^#]*print'

Был бы print только предшествовавший non-# символами.

3
27.01.2020, 21:14

Классическое решение:

grep -v '^#' <input |grep 'print'
1
27.01.2020, 21:14
  • 1
    Проблема - то, что # может быть где угодно в строке. Я обновил свое сообщение. –  prosseek 13.03.2013, 17:36
  • 2
    Власти решения для любой строки без #, затем проверяет на слово 'печать'. спасибо –  ThaMe90 13.03.2013, 17:38
  • 3
    @prosseek, Изменяющий требования в вопросе после получения ответа, не является правильным путем. Лучше должен задать новый вопрос. Неважно к счастью решение работает также на измененные требования. Но не изменяйте снова требования. Задайте вместо этого новый вопрос. –  H.-Dirk Schmitt 13.03.2013, 18:05

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

$ grep 'print' <input | grep -v '#[[:space:]]*print'

С файлом input содержа Ваши примеры, который дает:

print <- detect

Это работает на все Ваши примеры. Который, вероятно, достаточно хорош, но как manatwork и я указываю в комментариях, его попытка быть очень трудным победить все пограничные случаи с grep.

1
27.01.2020, 21:14
  • 1
    Для этого вида задания, избавляясь от 80% "не должен обнаруживать", вероятно, достаточно хорошо. –  vonbrand 13.03.2013, 18:27

Я все еще учу лишь, не был бы и следующие работа также?

grep -v '#[ ]*print' input_file
1
27.01.2020, 21:14

Теги

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