LPIC 103.7 Регулярные выражения в Linux

  Рет қаралды 32,570

Kirill Semaev

Kirill Semaev

Күн бұрын

Пікірлер: 45
@KirillSemaev
@KirillSemaev 7 жыл бұрын
Свежий мануал: github.com/ksemaev
@zabbixtest4059
@zabbixtest4059 5 жыл бұрын
sed -i позволит вносить изменения в самом файле. Очень крутые уроки, смотрю с удовольствием! СПАСИБО ЗА ТРУД!!!
@TheAgressor13
@TheAgressor13 Жыл бұрын
Спасибо большое за отличные уроки
@MrAlexMonk
@MrAlexMonk 3 жыл бұрын
спасибо большое! очень полезный урок. я 5 лет в Linux, но как десктопный юзер, и узнал для себя новые моменты)
@СанчоАнтиспамов
@СанчоАнтиспамов 9 жыл бұрын
Кирилл, отличные уроки! Спасибо! Все очень понятно, доходчиво и по теме. Пожелание есть: слайды-шпаргалки можешь выкладывать куда-то, чтоб потом это дело можно было сохранить/распечатать.
@KirillSemaev
@KirillSemaev 9 жыл бұрын
Александр Катанов Да, я именно так с самого начала и запланировал, но не могу выделить время, по трем работам основным завален часто)
@filippyugay
@filippyugay 2 жыл бұрын
Доступно, дружелюбно, очень профессионально
@АлександрХайдуков-ц9э
@АлександрХайдуков-ц9э 4 жыл бұрын
Спасибо за видео! Все понятно объясняешь !
@EugeneNuke
@EugeneNuke 8 жыл бұрын
А чем отличается простое регулярное выражение (BRE) от расширенного(ERE)? А такие вопросы будут. grep -E (большая E, а не маленькая) для расширенного регулярного выражения sed -e, e означает expression и может быть пропущена в нашем случае sed -r, r означает расширенное регулярное выражение, без -r будет только простое В простом регулярном выражении мета-символы ?, +, {, |, (, ) действуют как обычные символы, а не управляющие. Превратить их в управляющие можно через экранирование: \?, \+, \{, \|, \(, \)
@KirillSemaev
@KirillSemaev 8 жыл бұрын
На тему регулярных выражений есть отдельные учебники толстенные. Вы безусловно добавили много важного, но тут все не усмотреть, я буквально по азам пробежался. В пособие добавлю больше, но тема действительно безразмерная
@sergeybarmaley125
@sergeybarmaley125 Жыл бұрын
Спасибо тебе добрый Хищник !!!
@ЕвгенийПронин-ы9э
@ЕвгенийПронин-ы9э 6 жыл бұрын
15:55 можно команде sed передать ключик -i и тогда он осуществит замену прямо в действующем файле
@yurbazz4744
@yurbazz4744 9 жыл бұрын
В мануале на grep написано, что egrep, fgrep устарели и рекомендуется использовать grep с соответствующими ключами. По поводу sed: можно менять прямо в текущем файле с ключем -i
@KirillSemaev
@KirillSemaev 9 жыл бұрын
+Юрий Зайцев про grep все так, но пока топики сертификации LPIC их включают, и мне приходится о них говорить. Как только их уберут из тем - отмечу поверх видео. По sed - спасибо, но подскажите это на какой минуте?)
@ISandrucho
@ISandrucho 7 жыл бұрын
kzbin.info/www/bejne/a4akh4CJnrKhpM0 - таки, полноценный текстовый редактор. С ключом -i редактирует. Недавно использовал - очень пригодилось
@XsevenBeta
@XsevenBeta Жыл бұрын
На экзамене есть вопрос про ключ "-i"
@vnavalianyi
@vnavalianyi 4 жыл бұрын
Спасибо!
@vitaliisonko7670
@vitaliisonko7670 3 жыл бұрын
Good video.
@SergiuBurduja-y1l
@SergiuBurduja-y1l 6 жыл бұрын
Спасибо за вашу работу. А вы не подскажете, где можно найти практические задачи для каждого урока? Хорошо, когда, решаешь чужие задачи, а не придумываешь свои. Буду благодарен за подсказку. Еще раз спасибо, смотрю каждый ваш урок.
@АндрейЩербаков-з1р
@АндрейЩербаков-з1р 3 жыл бұрын
Здравствуйте. Скажите пожалуйста, Вам знакома команда или способ осуществить поиск содержимого файла по нескольким словам, но не последовательно, а в разброс. Например в экселе в ячейке есть предложение: "Предложение - единица человеческой речи." Нажимаю контрл+F и ввожу: *единица*человеческой*речи*. Нажимаю найти и программа выделяет нужную ячейку, где имеется набор этих слов. Проблема в том, что можно вводить только последовательно, а не в разброс, а именно нажимаю контрл+F и ввожу: *речи*единица*человеческой. Нажимаю найти и программа пишет что ничего не найдено. А хотелось бы.
@АлексейКрошечкин-х8р
@АлексейКрошечкин-х8р 5 жыл бұрын
Кирилл,добрый вечер!!! А подскажите пож-та на примере вывода цифр,я думаю многим интересно будет!! как будет выглядеть команда выводящая все строки файла, содержащие IP-адреса, на примерах правильных и неправильных IP-адресов (каждое из четырех полей, разделенных точками, должно содержать число от 0 до 255) .Правильные IP-адреса: 127.0.0.1 192.168.1.1 192.168.25.249 192.168.0.255 Неправильные IP-адреса: 12345.0.0.1 192.168.258.1 345.168.1.1 Как правильно составить шаблон???Спасибо
@SergoSergo-nv3cj
@SergoSergo-nv3cj 9 жыл бұрын
подскажите почему grep ^ins file.txt не ищет слова если в файле написано sudo apt-get install, а а если в файле написать просто слова install то ищет???
@KirillSemaev
@KirillSemaev 9 жыл бұрын
Sergo1924 Sergo1924 так я вроде говорил что символ ^ означает начало строки. Поэтому если install не в начале строки, то он и не найдет
@SergoSergo-nv3cj
@SergoSergo-nv3cj 9 жыл бұрын
спасибо
@evgkol
@evgkol 8 жыл бұрын
как считаете, новичку можно читать Немет Э., Снайдер Г., Хейн Т., Уэйли Б. - Unix и Linux. Руководство системного администратора, если нет то что посоветуете?
@LeonidBatogov
@LeonidBatogov 8 жыл бұрын
На мой взгляд не стоит использовать эту книгу для изучения линукс с нуля. Как справочник или доп. литературу можно. Если совсем новичок - есть хороший курс на ИНТУИТ www.intuit.ru/studies/courses/37/37/info простой и понятный
@KirillSemaev
@KirillSemaev 8 жыл бұрын
Не посоветую ничего, не знаком с литературой в этой области)
@defininito
@defininito 5 жыл бұрын
Классная книга!
@vladimirserg1641
@vladimirserg1641 8 жыл бұрын
vova@vova-VirtualBox:~$ sed -e 's/oo/aa' file.txt > newfile.txt sed: -e выражение #1, символ 7: незавершенная команда `s' вроде все правильно ввел но ошибка?????
@KirillSemaev
@KirillSemaev 8 жыл бұрын
+Владимир Серг чаще всего в таком случае кавычки не те. А что вы тут хотите сделать, а то я этот sed с его возможностями в голове не держу.
@vladimirserg1641
@vladimirserg1641 8 жыл бұрын
+Kirill Semaev ничего не хочу просто за Вами повторяю команды осмысливаюПрорабатываю так сказать думаю Вы правы, а где те взять???
@KirillSemaev
@KirillSemaev 8 жыл бұрын
+Владимир Серг так, нашел, вы все правильно делаете, у меня команда sed -e ‘s/oo/aa/’ file.txt отрабатывает без вопросов. Попробуйте кавычки другие. ПО поводу тех команд - мой косяк, не делал вовремя вам шпаргалки, сейчас постепенно идут в обратно порядке и кладу сюда: yadi.sk/d/uSRjNq8ipuNU9
@EugeneNuke
@EugeneNuke 8 жыл бұрын
после aa забыли слеш / поставить
@ВладимирМасликов-в7я
@ВладимирМасликов-в7я 8 жыл бұрын
команды некоторые команды вроде ls или rm принимают маску как аргумент. Она является regExp'ом, или обрезанной его версией?)))
@KirillSemaev
@KirillSemaev 8 жыл бұрын
+Владимир Масликов приведите пример, а то я сходу не соображу о чем речь)
@EugeneNuke
@EugeneNuke 8 жыл бұрын
то, что вы набираете в командной строке - обрабатывает оболочка * ? [a-z] {one,two} это всё спец-символы подстановки (globbing) для bash не являющиеся регулярным выражением. Если вы их экранируете через двойные или одинарные кавычки - bash не будет их трогать и передаст эти аргументы команде как есть. Поэтому, регулярные выражения часто закрывают кавычками, чтобы bash не трогал их.
@ВладимирМасликов-в7я
@ВладимирМасликов-в7я 8 жыл бұрын
Евгений Янюк ясно. Т.е это баш выполнит rm для всех файлов, если передан аргумент *? Лол
@EugeneNuke
@EugeneNuke 8 жыл бұрын
Нет, баш заменит звёздочку на список файлов, находящихся в текущей директории и вызовет rm уже с этим списком. Т.е. rm не в курсе что была указана звёздочка - он получит список файлов. Исключением из правила является отсутствие файлов в текущей директории - тогда звёздочка передаётся в rm как есть, но в итоге rm скажет что файла с именем "*" он не нашёл.
@ВладимирМасликов-в7я
@ВладимирМасликов-в7я 8 жыл бұрын
Ясно, спасибо
@bigsem89
@bigsem89 8 жыл бұрын
а в centos нет rgrep , только grep -R работает)
@nyactk
@nyactk 4 жыл бұрын
Да это то же самое, фактически... можно создать алиасы, если это так напрягает.
@АлександрСемененко-э9ы
@АлександрСемененко-э9ы 8 жыл бұрын
Подскажите, что означает регулярное выражение '.+' В тесте встречается вопрос, с вариантами ответа grep '.+' < allmostempty.txt и sed -e '.+' < allmostempty.txt? Стало интересно, что это такое '.+' ? Это означает хотя бы 1 раз должен встретиться один любой одиночный символ?
@АлександрСемененко-э9ы
@АлександрСемененко-э9ы 8 жыл бұрын
Наконец разобрался, '.+' это действительно любой одиночный символ встречающийся один или более раз (любая не пустая строка), но чтобы его использовать нужно утилиту grep запускать с опцией -E (использовать расширенные регулярные выражения).
@KirillSemaev
@KirillSemaev 8 жыл бұрын
Я даже не успел посмотреть))
LPIC 103.8 Текстовый редактор Vi
17:14
Kirill Semaev
Рет қаралды 31 М.
LPIC 103.2 Работа c текстовым выводом в Linux
28:48
ЗНАЛИ? ТОЛЬКО ОАЭ 🤫
00:13
Сам себе сушист
Рет қаралды 4,2 МЛН
Players vs Pitch 🤯
00:26
LE FOOT EN VIDÉO
Рет қаралды 122 МЛН
LPIC 104.6 Мягкие и жесткие ссылки
15:28
Kirill Semaev
Рет қаралды 22 М.
Команда AWK bash скрипты по-взрослому.
6:26
Мир IT с Антоном Павленко
Рет қаралды 27 М.
LPIC 103.6 Приоритеты процессов в Linux
12:25
Kirill Semaev
Рет қаралды 24 М.
Как Linux рисует окна?
48:46
Студенческие клубы разработки КНиИТ СГУ
Рет қаралды 56 М.
LPIC 103.1 Работа в командной строке Linux
25:47
ЗНАЛИ? ТОЛЬКО ОАЭ 🤫
00:13
Сам себе сушист
Рет қаралды 4,2 МЛН