Кирилл, отличные уроки! Спасибо! Все очень понятно, доходчиво и по теме. Пожелание есть: слайды-шпаргалки можешь выкладывать куда-то, чтоб потом это дело можно было сохранить/распечатать.
А чем отличается простое регулярное выражение (BRE) от расширенного(ERE)? А такие вопросы будут. grep -E (большая E, а не маленькая) для расширенного регулярного выражения sed -e, e означает expression и может быть пропущена в нашем случае sed -r, r означает расширенное регулярное выражение, без -r будет только простое В простом регулярном выражении мета-символы ?, +, {, |, (, ) действуют как обычные символы, а не управляющие. Превратить их в управляющие можно через экранирование: \?, \+, \{, \|, \(, \)
На тему регулярных выражений есть отдельные учебники толстенные. Вы безусловно добавили много важного, но тут все не усмотреть, я буквально по азам пробежался. В пособие добавлю больше, но тема действительно безразмерная
В мануале на grep написано, что egrep, fgrep устарели и рекомендуется использовать grep с соответствующими ключами. По поводу sed: можно менять прямо в текущем файле с ключем -i
+Юрий Зайцев про grep все так, но пока топики сертификации LPIC их включают, и мне приходится о них говорить. Как только их уберут из тем - отмечу поверх видео. По sed - спасибо, но подскажите это на какой минуте?)
Спасибо за вашу работу. А вы не подскажете, где можно найти практические задачи для каждого урока? Хорошо, когда, решаешь чужие задачи, а не придумываешь свои. Буду благодарен за подсказку. Еще раз спасибо, смотрю каждый ваш урок.
Кирилл,добрый вечер!!! А подскажите пож-та на примере вывода цифр,я думаю многим интересно будет!! как будет выглядеть команда выводящая все строки файла, содержащие 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 Как правильно составить шаблон???Спасибо
Здравствуйте. Скажите пожалуйста, Вам знакома команда или способ осуществить поиск содержимого файла по нескольким словам, но не последовательно, а в разброс. Например в экселе в ячейке есть предложение: "Предложение - единица человеческой речи." Нажимаю контрл+F и ввожу: *единица*человеческой*речи*. Нажимаю найти и программа выделяет нужную ячейку, где имеется набор этих слов. Проблема в том, что можно вводить только последовательно, а не в разброс, а именно нажимаю контрл+F и ввожу: *речи*единица*человеческой. Нажимаю найти и программа пишет что ничего не найдено. А хотелось бы.
как считаете, новичку можно читать Немет Э., Снайдер Г., Хейн Т., Уэйли Б. - Unix и Linux. Руководство системного администратора, если нет то что посоветуете?
На мой взгляд не стоит использовать эту книгу для изучения линукс с нуля. Как справочник или доп. литературу можно. Если совсем новичок - есть хороший курс на ИНТУИТ www.intuit.ru/studies/courses/37/37/info простой и понятный
то, что вы набираете в командной строке - обрабатывает оболочка * ? [a-z] {one,two} это всё спец-символы подстановки (globbing) для bash не являющиеся регулярным выражением. Если вы их экранируете через двойные или одинарные кавычки - bash не будет их трогать и передаст эти аргументы команде как есть. Поэтому, регулярные выражения часто закрывают кавычками, чтобы bash не трогал их.
Нет, баш заменит звёздочку на список файлов, находящихся в текущей директории и вызовет rm уже с этим списком. Т.е. rm не в курсе что была указана звёздочка - он получит список файлов. Исключением из правила является отсутствие файлов в текущей директории - тогда звёздочка передаётся в rm как есть, но в итоге rm скажет что файла с именем "*" он не нашёл.
подскажите почему grep ^ins file.txt не ищет слова если в файле написано sudo apt-get install, а а если в файле написать просто слова install то ищет???
vova@vova-VirtualBox:~$ sed -e 's/oo/aa' file.txt > newfile.txt sed: -e выражение #1, символ 7: незавершенная команда `s' вроде все правильно ввел но ошибка?????
+Владимир Серг так, нашел, вы все правильно делаете, у меня команда sed -e ‘s/oo/aa/’ file.txt отрабатывает без вопросов. Попробуйте кавычки другие. ПО поводу тех команд - мой косяк, не делал вовремя вам шпаргалки, сейчас постепенно идут в обратно порядке и кладу сюда: yadi.sk/d/uSRjNq8ipuNU9
Подскажите, что означает регулярное выражение '.+' В тесте встречается вопрос, с вариантами ответа grep '.+' < allmostempty.txt и sed -e '.+' < allmostempty.txt? Стало интересно, что это такое '.+' ? Это означает хотя бы 1 раз должен встретиться один любой одиночный символ?
Наконец разобрался, '.+' это действительно любой одиночный символ встречающийся один или более раз (любая не пустая строка), но чтобы его использовать нужно утилиту grep запускать с опцией -E (использовать расширенные регулярные выражения).
Свежий мануал: github.com/ksemaev
sed -i позволит вносить изменения в самом файле. Очень крутые уроки, смотрю с удовольствием! СПАСИБО ЗА ТРУД!!!
спасибо большое!
очень полезный урок.
я 5 лет в Linux, но как десктопный юзер, и узнал для себя новые моменты)
Кирилл, отличные уроки! Спасибо! Все очень понятно, доходчиво и по теме.
Пожелание есть: слайды-шпаргалки можешь выкладывать куда-то, чтоб потом это дело можно было сохранить/распечатать.
Александр Катанов Да, я именно так с самого начала и запланировал, но не могу выделить время, по трем работам основным завален часто)
Спасибо большое за отличные уроки
Доступно, дружелюбно, очень профессионально
А чем отличается простое регулярное выражение (BRE) от расширенного(ERE)?
А такие вопросы будут.
grep -E (большая E, а не маленькая) для расширенного регулярного выражения
sed -e, e означает expression и может быть пропущена в нашем случае
sed -r, r означает расширенное регулярное выражение, без -r будет только простое
В простом регулярном выражении мета-символы
?, +, {, |, (, )
действуют как обычные символы, а не управляющие.
Превратить их в управляющие можно через экранирование:
\?, \+, \{, \|, \(, \)
На тему регулярных выражений есть отдельные учебники толстенные. Вы безусловно добавили много важного, но тут все не усмотреть, я буквально по азам пробежался. В пособие добавлю больше, но тема действительно безразмерная
Спасибо тебе добрый Хищник !!!
Спасибо за видео! Все понятно объясняешь !
В мануале на grep написано, что egrep, fgrep устарели и рекомендуется использовать grep с соответствующими ключами.
По поводу sed: можно менять прямо в текущем файле с ключем -i
+Юрий Зайцев про grep все так, но пока топики сертификации LPIC их включают, и мне приходится о них говорить. Как только их уберут из тем - отмечу поверх видео. По sed - спасибо, но подскажите это на какой минуте?)
ua-cam.com/video/5UAVMSiMnnk/v-deo.html - таки, полноценный текстовый редактор. С ключом -i редактирует. Недавно использовал - очень пригодилось
На экзамене есть вопрос про ключ "-i"
15:55 можно команде sed передать ключик -i и тогда он осуществит замену прямо в действующем файле
Спасибо за вашу работу.
А вы не подскажете, где можно найти практические задачи для каждого урока?
Хорошо, когда, решаешь чужие задачи, а не придумываешь свои.
Буду благодарен за подсказку.
Еще раз спасибо, смотрю каждый ваш урок.
Кирилл,добрый вечер!!!
А подскажите пож-та на примере вывода цифр,я думаю многим интересно будет!!
как будет выглядеть команда выводящая все строки файла, содержащие 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
Как правильно составить шаблон???Спасибо
Здравствуйте. Скажите пожалуйста, Вам знакома команда или способ осуществить поиск содержимого файла по нескольким словам, но не последовательно, а в разброс. Например в экселе в ячейке есть предложение: "Предложение - единица человеческой речи." Нажимаю контрл+F и ввожу: *единица*человеческой*речи*. Нажимаю найти и программа выделяет нужную ячейку, где имеется набор этих слов. Проблема в том, что можно вводить только последовательно, а не в разброс, а именно нажимаю контрл+F и ввожу: *речи*единица*человеческой. Нажимаю найти и программа пишет что ничего не найдено. А хотелось бы.
Спасибо!
Good video.
как считаете, новичку можно читать Немет Э., Снайдер Г., Хейн Т., Уэйли Б. - Unix и Linux. Руководство системного администратора, если нет то что посоветуете?
На мой взгляд не стоит использовать эту книгу для изучения линукс с нуля. Как справочник или доп. литературу можно. Если совсем новичок - есть хороший курс на ИНТУИТ www.intuit.ru/studies/courses/37/37/info простой и понятный
Не посоветую ничего, не знаком с литературой в этой области)
Классная книга!
команды некоторые команды вроде ls или rm принимают маску как аргумент. Она является regExp'ом, или обрезанной его версией?)))
+Владимир Масликов приведите пример, а то я сходу не соображу о чем речь)
то, что вы набираете в командной строке - обрабатывает оболочка
* ? [a-z] {one,two}
это всё спец-символы подстановки (globbing) для bash не являющиеся регулярным выражением.
Если вы их экранируете через двойные или одинарные кавычки - bash не будет их трогать и передаст эти аргументы команде как есть. Поэтому, регулярные выражения часто закрывают кавычками, чтобы bash не трогал их.
Евгений Янюк ясно. Т.е это баш выполнит rm для всех файлов, если передан аргумент *? Лол
Нет, баш заменит звёздочку на список файлов, находящихся в текущей директории и вызовет rm уже с этим списком. Т.е. rm не в курсе что была указана звёздочка - он получит список файлов. Исключением из правила является отсутствие файлов в текущей директории - тогда звёздочка передаётся в rm как есть, но в итоге rm скажет что файла с именем "*" он не нашёл.
Ясно, спасибо
подскажите почему grep ^ins file.txt не ищет слова если в файле написано sudo apt-get install, а а если в файле написать просто слова install то ищет???
Sergo1924 Sergo1924 так я вроде говорил что символ ^ означает начало строки. Поэтому если install не в начале строки, то он и не найдет
спасибо
а в centos нет rgrep , только grep -R работает)
Да это то же самое, фактически... можно создать алиасы, если это так напрягает.
vova@vova-VirtualBox:~$ sed -e 's/oo/aa' file.txt > newfile.txt
sed: -e выражение #1, символ 7: незавершенная команда `s'
вроде все правильно ввел но ошибка?????
+Владимир Серг чаще всего в таком случае кавычки не те. А что вы тут хотите сделать, а то я этот sed с его возможностями в голове не держу.
+Kirill Semaev ничего не хочу просто за Вами повторяю команды осмысливаюПрорабатываю так сказать думаю Вы правы, а где те взять???
+Владимир Серг так, нашел, вы все правильно делаете, у меня команда sed
-e ‘s/oo/aa/’ file.txt отрабатывает без вопросов. Попробуйте кавычки другие.
ПО поводу тех команд - мой косяк, не делал вовремя вам шпаргалки, сейчас постепенно идут в обратно порядке и кладу сюда: yadi.sk/d/uSRjNq8ipuNU9
после aa забыли слеш / поставить
Подскажите, что означает регулярное выражение '.+' В тесте встречается вопрос, с вариантами ответа grep '.+' < allmostempty.txt и sed -e '.+' < allmostempty.txt? Стало интересно, что это такое '.+' ? Это означает хотя бы 1 раз должен встретиться один любой одиночный символ?
Наконец разобрался, '.+' это действительно любой одиночный символ встречающийся один или более раз (любая не пустая строка), но чтобы его использовать нужно утилиту grep запускать с опцией -E (использовать расширенные регулярные выражения).
Я даже не успел посмотреть))