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

Поділитися
Вставка
  • Опубліковано 4 лис 2024

КОМЕНТАРІ • 45

  • @KirillSemaev
    @KirillSemaev  7 років тому +4

    Свежий мануал: github.com/ksemaev

  • @zabbixtest4059
    @zabbixtest4059 5 років тому +6

    sed -i позволит вносить изменения в самом файле. Очень крутые уроки, смотрю с удовольствием! СПАСИБО ЗА ТРУД!!!

  • @MrAlexMonk
    @MrAlexMonk 3 роки тому +3

    спасибо большое!
    очень полезный урок.
    я 5 лет в Linux, но как десктопный юзер, и узнал для себя новые моменты)

  • @СанчоАнтиспамов
    @СанчоАнтиспамов 9 років тому +11

    Кирилл, отличные уроки! Спасибо! Все очень понятно, доходчиво и по теме.
    Пожелание есть: слайды-шпаргалки можешь выкладывать куда-то, чтоб потом это дело можно было сохранить/распечатать.

    • @KirillSemaev
      @KirillSemaev  9 років тому

      Александр Катанов Да, я именно так с самого начала и запланировал, но не могу выделить время, по трем работам основным завален часто)

  • @TheAgressor13
    @TheAgressor13 Рік тому +1

    Спасибо большое за отличные уроки

  • @filippyugay
    @filippyugay 2 роки тому

    Доступно, дружелюбно, очень профессионально

  • @EugeneNuke
    @EugeneNuke 8 років тому +10

    А чем отличается простое регулярное выражение (BRE) от расширенного(ERE)?
    А такие вопросы будут.
    grep -E (большая E, а не маленькая) для расширенного регулярного выражения
    sed -e, e означает expression и может быть пропущена в нашем случае
    sed -r, r означает расширенное регулярное выражение, без -r будет только простое
    В простом регулярном выражении мета-символы
    ?, +, {, |, (, )
    действуют как обычные символы, а не управляющие.
    Превратить их в управляющие можно через экранирование:
    \?, \+, \{, \|, \(, \)

    • @KirillSemaev
      @KirillSemaev  8 років тому +1

      На тему регулярных выражений есть отдельные учебники толстенные. Вы безусловно добавили много важного, но тут все не усмотреть, я буквально по азам пробежался. В пособие добавлю больше, но тема действительно безразмерная

  • @sergeybarmaley125
    @sergeybarmaley125 Рік тому

    Спасибо тебе добрый Хищник !!!

  • @АлександрХайдуков-ц9э

    Спасибо за видео! Все понятно объясняешь !

  • @yurbazz4744
    @yurbazz4744 9 років тому +2

    В мануале на grep написано, что egrep, fgrep устарели и рекомендуется использовать grep с соответствующими ключами.
    По поводу sed: можно менять прямо в текущем файле с ключем -i

    • @KirillSemaev
      @KirillSemaev  9 років тому +1

      +Юрий Зайцев про grep все так, но пока топики сертификации LPIC их включают, и мне приходится о них говорить. Как только их уберут из тем - отмечу поверх видео. По sed - спасибо, но подскажите это на какой минуте?)

    • @ISandrucho
      @ISandrucho 7 років тому

      ua-cam.com/video/5UAVMSiMnnk/v-deo.html - таки, полноценный текстовый редактор. С ключом -i редактирует. Недавно использовал - очень пригодилось

    • @XsevenBeta
      @XsevenBeta Рік тому

      На экзамене есть вопрос про ключ "-i"

  • @ЕвгенийПронин-ы9э
    @ЕвгенийПронин-ы9э 6 років тому +2

    15:55 можно команде sed передать ключик -i и тогда он осуществит замену прямо в действующем файле

  • @SergiuBurduja-y1l
    @SergiuBurduja-y1l 6 років тому

    Спасибо за вашу работу.
    А вы не подскажете, где можно найти практические задачи для каждого урока?
    Хорошо, когда, решаешь чужие задачи, а не придумываешь свои.
    Буду благодарен за подсказку.
    Еще раз спасибо, смотрю каждый ваш урок.

  • @АлексейКрошечкин-х8р

    Кирилл,добрый вечер!!!
    А подскажите пож-та на примере вывода цифр,я думаю многим интересно будет!!
    как будет выглядеть команда выводящая все строки файла, содержащие 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
    Как правильно составить шаблон???Спасибо

  • @АндрейЩербаков-з1р

    Здравствуйте. Скажите пожалуйста, Вам знакома команда или способ осуществить поиск содержимого файла по нескольким словам, но не последовательно, а в разброс. Например в экселе в ячейке есть предложение: "Предложение - единица человеческой речи." Нажимаю контрл+F и ввожу: *единица*человеческой*речи*. Нажимаю найти и программа выделяет нужную ячейку, где имеется набор этих слов. Проблема в том, что можно вводить только последовательно, а не в разброс, а именно нажимаю контрл+F и ввожу: *речи*единица*человеческой. Нажимаю найти и программа пишет что ничего не найдено. А хотелось бы.

  • @vnavalianyi
    @vnavalianyi 4 роки тому

    Спасибо!

  • @vitaliisonko7670
    @vitaliisonko7670 3 роки тому

    Good video.

  • @evgkol
    @evgkol 8 років тому

    как считаете, новичку можно читать Немет Э., Снайдер Г., Хейн Т., Уэйли Б. - Unix и Linux. Руководство системного администратора, если нет то что посоветуете?

    • @LeonidBatogov
      @LeonidBatogov 8 років тому +3

      На мой взгляд не стоит использовать эту книгу для изучения линукс с нуля. Как справочник или доп. литературу можно. Если совсем новичок - есть хороший курс на ИНТУИТ www.intuit.ru/studies/courses/37/37/info простой и понятный

    • @KirillSemaev
      @KirillSemaev  8 років тому

      Не посоветую ничего, не знаком с литературой в этой области)

    • @defininito
      @defininito 5 років тому

      Классная книга!

  • @ВладимирМасликов-в7я

    команды некоторые команды вроде ls или rm принимают маску как аргумент. Она является regExp'ом, или обрезанной его версией?)))

    • @KirillSemaev
      @KirillSemaev  8 років тому

      +Владимир Масликов приведите пример, а то я сходу не соображу о чем речь)

    • @EugeneNuke
      @EugeneNuke 8 років тому +2

      то, что вы набираете в командной строке - обрабатывает оболочка
      * ? [a-z] {one,two}
      это всё спец-символы подстановки (globbing) для bash не являющиеся регулярным выражением.
      Если вы их экранируете через двойные или одинарные кавычки - bash не будет их трогать и передаст эти аргументы команде как есть. Поэтому, регулярные выражения часто закрывают кавычками, чтобы bash не трогал их.

    • @ВладимирМасликов-в7я
      @ВладимирМасликов-в7я 8 років тому

      Евгений Янюк ясно. Т.е это баш выполнит rm для всех файлов, если передан аргумент *? Лол

    • @EugeneNuke
      @EugeneNuke 8 років тому +1

      Нет, баш заменит звёздочку на список файлов, находящихся в текущей директории и вызовет rm уже с этим списком. Т.е. rm не в курсе что была указана звёздочка - он получит список файлов. Исключением из правила является отсутствие файлов в текущей директории - тогда звёздочка передаётся в rm как есть, но в итоге rm скажет что файла с именем "*" он не нашёл.

    • @ВладимирМасликов-в7я
      @ВладимирМасликов-в7я 8 років тому

      Ясно, спасибо

  • @SergoSergo-nv3cj
    @SergoSergo-nv3cj 9 років тому

    подскажите почему grep ^ins file.txt не ищет слова если в файле написано sudo apt-get install, а а если в файле написать просто слова install то ищет???

    • @KirillSemaev
      @KirillSemaev  9 років тому +1

      Sergo1924 Sergo1924 так я вроде говорил что символ ^ означает начало строки. Поэтому если install не в начале строки, то он и не найдет

    • @SergoSergo-nv3cj
      @SergoSergo-nv3cj 9 років тому

      спасибо

  • @bigsem89
    @bigsem89 8 років тому

    а в centos нет rgrep , только grep -R работает)

    • @nyactk
      @nyactk 4 роки тому +2

      Да это то же самое, фактически... можно создать алиасы, если это так напрягает.

  • @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 років тому +11

      после aa забыли слеш / поставить

  • @АлександрСемененко-э9ы

    Подскажите, что означает регулярное выражение '.+' В тесте встречается вопрос, с вариантами ответа grep '.+' < allmostempty.txt и sed -e '.+' < allmostempty.txt? Стало интересно, что это такое '.+' ? Это означает хотя бы 1 раз должен встретиться один любой одиночный символ?

    • @АлександрСемененко-э9ы
      @АлександрСемененко-э9ы 8 років тому +2

      Наконец разобрался, '.+' это действительно любой одиночный символ встречающийся один или более раз (любая не пустая строка), но чтобы его использовать нужно утилиту grep запускать с опцией -E (использовать расширенные регулярные выражения).

    • @KirillSemaev
      @KirillSemaev  8 років тому

      Я даже не успел посмотреть))