Chciałbym wydrukować zawartość pliku, ale wszystkie linie zaczynające się od # Chcę zignorować. Próbowałem niektórych rzeczy z grep i awk, ale ciągle drukowałem cały plik lub po prostu drukowałem linie zaczynające się od #. Mogłabym dać mi odpowiedni impuls, lub polecenie grep/awk, które wydrukowało anilię w pliku, który nie zaczyna się od #.Linux, Wydrukuj wszystkie linie w pliku, NIE zaczynając od
8
A
Odpowiedz
16
5
Można użyć operatora !
:
awk '!/^ *#/ { print; }'
ten neguje wynik meczu. Uwzględniłem również linie, które zaczynają się spacjami, a następnie #, ale możesz dostosować wyrażenie regularne, tak jak lubisz.
4
Można użyć grep, aby wykluczyć wszystkie linie, które zaczynają się #
używając opcji
grep -v '^#' filename
-v
Jeśli jesteś fan of sed
:
sed '/^#/d' filename
0
to również pominąć linie z białych znaków przed #
:
awk '$1!~/^#/' file
lub
grep -v '^[[:blank:]]*#' file
0
Oto grep PCRE sposób
grep -P '^(?!#)' file
'grep -v "^ #" file.txt' –
http://unix.stackexchange.com/questions/60994/how-to-grep-lines-which-does-not-begin-with-lub –