Відповіді:
Це, здається, працює, але я не замислювався над цим:
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). Другий греп - це чистий цукор, щоб дати вам слова без пробілу. Це також "видалить" порожні рядки.
awk '!/^ *#/' ./text
.