Что означает 'grep -v "^[...]"'?

Это убийство предназначено для убийства персонажа, а не для смерти по сигналу. Это должно быть задокументировано на справочной странице termios(4),

Erase and kill processing occur when either of two special characters, the ERASE and KILL characters (see the Special Characters section), is received. This processing affects data in the input queue that has not yet been delimited by a newline NL, EOF, or EOL character. This undelimited data makes up the current line. The ERASE character deletes the last character in the current line, if there is any. The KILL character deletes all data in the current line, if there is any.

или termios(3)в Linux

VKILL (025, NAK, Ctrl-U, or Ctrl-X, or also @) Kill character (KILL). This erases the input since the last EOF or beginning-of-line. Recognized when ICANON is set, and then not passed as input.

0
06.02.2021, 12:48
1 ответ

grep -v "^[11,12d9]"

да, как вы узнали, -vиспользуется для обратного сопоставления и будет возвращать строки, которые не соответствуют заданному шаблону ^[11,12d9].

и то, что делает ^[11,12d9], заключается в том, что говорят символы соответствия в [...], и если они появились в начале строки (^, это начало привязки строки ), затем игнорируйте эти строки (поскольку из использованного -vинвертировать соответствие );

поэтому в основном строки, начинающиеся с одного из символов 1, ,, 2, dили 9, будут игнорироваться (повторяющиеся символы также будут игнорироваться в классе символов -).

но если вы хотите игнорировать строку, начинающуюся со строки 11,12d9, вам нужно grep -v '^11,12d9'.


*Не относится к вопросу, но для заметок об использовании символов ], ^и -в классе символов:

если ^символ :его можно поставить в любом месте в []но не на первый символ; если это был первый символ, он действует как отрицание на символы в этом классе.
если ]символ :, он должен быть первым символом.
если -символ :, он должен быть последним символом.

5
18.03.2021, 22:32

Теги

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