Удалите строки, начинающиеся #

Вот больше, я знаю (сверху ответа faif):

  • Самый видимый мне - то, что Ubuntu рассматривает sudo с большим отношением, чем Debian. Во время установки Debian опция по умолчанию состоит в том, чтобы настроить пароль root, в противоположность установке Ubuntu.

  • Установщик Ubuntu намного более симпатичен. Это также более требовательно из аппаратных средств. Только немного легче использовать хотя (Debian довольно прост в использовании, как это).

  • YMMV, но многие утверждали, что Debian более стабилен. Я могу засвидетельствовать это, хотя я на самом деле недавно не проверил.

  • Debian более консервативен относительно технических изменений в масштабе всей системы, частично потому что требуется намного больше координации для добиваний цели. Это вероятно, потому что это испытывает недостаток в настоящем Диктаторе, доброжелательном или нет.

  • Debian официально поддерживает намного больше пакетов

10
28.11.2011, 20:22
6 ответов

Это, кажется, работает, но я не уделил глубокое внимание ему:

sed -e '/^[[:space:]]*#/d'
13
27.01.2020, 20:00

Можно использовать grep для этого

grep -vh '^[[:space:]]*#' filename

С тех пор, как я предполагаю, Вы разделяете комментарии из некоторого файла, Вы могли бы также рассмотреть удаляющие пустые строки, который разворачивает вышеупомянутое до:

grep -vh '^[[:space:]]*\(#\|$\)' filename
10
27.01.2020, 20:00

awk решение состоит в том, чтобы инвертировать соответствие Вашему шаблону.

$> cat ./text
elephant
# Master socket provides access to userdb information. It's typically
zoo
 #ok
penguin
# !

$> awk '!/^(\ )*#/ {print $0}' ./text
elephant
zoo
penguin
3
27.01.2020, 20:00
  • 1
    Никакая потребность выйти из пробела, никакая потребность получить пробел, никакая потребность указать действие по умолчанию: awk '!/^ *#/' ./text. –  manatwork 28.11.2011, 17:42
  • 2
    awk '/^ *#/{next}1' file должно быть достаточно хорошим. –  jaypal singh 23.12.2011, 07:01
perl -ne 'print if ! /^\s*#/' ./text
0
27.01.2020, 20:00
  • 1
    привет @Peter-john-acklam, это работало бы, когда код сопровождается комментарием #? –  Nikhil Mulley 14.01.2012, 12:47
$ perl -pi -e '$_="" if /^\s*#/' filename
-1
27.01.2020, 20:00
  • 1
    Это не хорошо - не удаляет строки и очищает строки как a#b –  Mat 12.12.2011, 06:23

Используя демонстрационные данные, отправленные ДМИТРИЙ МАЛИКОВ...

$ grep -vPh '^\s*#' filename.txt | grep -Po '\w+'
elephant
zoo
penguin

Я предпочитаю использовать pcre с grep, таким образом, я использую переключатель-P для grep (должен быть GNU grep). Второй grep является чистым сахаром, чтобы дать Вам слова без пробела. Это также "удалило" бы пустые строки.

0
27.01.2020, 20:00

Теги

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