Ответы:
Кажется, это работает, но я не задумывался об этом:
sed -e '/^[[:space:]]*#/d'
Вы можете использовать grep
для этого
grep -vh '^[[:space:]]*#' filename
Поскольку, как я предполагаю, вы удаляете комментарии из какого-либо файла, вы можете также рассмотреть возможность удаления пустых строк, что расширяет вышеприведенное до:
grep -vh '^[[:space:]]*\(#\|$\)' filename
awk
Решение состоит в том, чтобы инвертировать соответствующий вашему шаблону.
$> cat ./text
elephant
# Master socket provides access to userdb information. It's typically
zoo
#ok
penguin
# !
$> awk '!/^(\ )*#/ {print $0}' ./text
elephant
zoo
penguin
awk '/^ *#/{next}1' file
должно быть достаточно хорошо
perl -ne 'print if ! /^\s*#/' ./text
Используя пример данных, размещенных ДМИТРИЙ МАЛИКОВ ...
$ grep -vPh '^\s*#' filename.txt | grep -Po '\w+'
elephant
zoo
penguin
Я предпочитаю использовать pcre с grep, поэтому я использую ключ -P для grep (должен быть GNU grep). Второй grep - чистый сахар, чтобы дать вам слова без пробелов. Это также "удалит" пустые строки.
awk '!/^ *#/' ./text
.