Odpowiedzi:
To wydaje się działać, ale nie zastanawiałem się nad tym:
sed -e '/^[[:space:]]*#/d'
Możesz grep
do tego użyć
grep -vh '^[[:space:]]*#' filename
Ponieważ, jak przypuszczam, usuwasz komentarze z jakiegoś pliku, możesz również rozważyć usunięcie pustych linii, co rozszerza powyższe do:
grep -vh '^[[:space:]]*\(#\|$\)' filename
awk
rozwiązaniem jest odwrócenie pasujące do wzorca.
$> 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
powinno być wystarczająco dobre.
perl -ne 'print if ! /^\s*#/' ./text
Korzystanie z przykładowych danych opublikowanych przez ДМИТРИЙ МАЛИКОВ ...
$ grep -vPh '^\s*#' filename.txt | grep -Po '\w+'
elephant
zoo
penguin
Wolę używać pcre z grep, więc używam przełącznika -P dla grep (musi to być GNU grep). Drugi grep to czysty cukier, który daje ci słowa bez białych znaków. Spowodowałoby to również „usunięcie” pustych linii.
awk '!/^ *#/' ./text
.