diff --git a/docs/linux/Команды.md b/docs/linux/Команды.md index 5a7b051..de928bc 100644 --- a/docs/linux/Команды.md +++ b/docs/linux/Команды.md @@ -279,7 +279,6 @@ - `truncate -s 0 /var/log/messages` --- - `find / -name 2>/dev/null` -- `grep -A 10 <файл>` - вывести 10 строк после найденного совпадения ### Диски @@ -319,3 +318,31 @@ mount [OPTIONS] - 0 это SSD (твердотельный накопитель) > диск с названием sr* это cd привод - `lsscsi` - отображает устройства, подключенные через интерфейс SCSI + +### Grep + +- `cat | grep -A 10 ""` - вывести 10 строк ПОСЛЕ найденного совпадения +- `cat | grep -B 10 ""` - вывести 10 строк ПЕРЕД найденным совпадения +- `cat | grep "^"` - начинается с `` +- `cat | grep "^.*"` - `.*` любое количество символом между `` и `` + +??? info "Квантификатор, он указывает сколько раз в строке встречается символ или группа символов" + - `*` - любое количество символов + - `+` - один и более символов + - `?` - 0 или 1 символ + - `{n}` - встречается n раз + + +- `cat | grep "^.*$"` - `` в конце строки (из-за `$`) +- `cat | grep -P "restrict(ed|ing)"` - ну понятно + +??? info "Флаги grep" + Если не работает корректная регулярка, добавить один из этих флагов + + - `-P` - Perl совместисые регулярки + - `-E` - расширенные регулярки + - `i` - игнорировать регистр + - `w` - только целые слова + - `x` - совпадение всей строки + +- `cat | grep -P "May 2 08:5(3|4|5):"` - ну понятно \ No newline at end of file