Поиск файлов в Linux и Unix - find, grep, ack, ripgrep
HTML-код
- Опубликовано: 22 дек 2019
- Мой курс «Хардкорная веб-разработка» - course.to.digital
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: botanim.to.digital/
Telegram: t0digital.t.me
Сказать спасибо за это видео можно здесь - boosty.to/digitalize.team
Поговорим в этом видео о канонических утилитах поиска файлов в *nix - find и grep, а также их современных удобных собратьях.
ripgrep - blog.burntsushi.net/ripgrep/
Плейлист на канале о крутых Linux утилитах - • Изучаем Vim, команды и...
Курс молодого бойца по SQL - • 🔥Разбираем SQL на прим...
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
- Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
- Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Telegram канал - t.me/t0digital
ВК - digitalize.team
RuTube - rutube.ru/channel/24802975/ab...
Дзен - dzen.ru/id/6235d32cb64df01e6e...
Расскажи про настройки безопасности в линукс. Особенно про сетевую безопасность.
Спасибо, расскажем!
Вот прям от всей души!!! Огромное спасибо.
Пожалуйста сними обещанный ролик про vim + Python)
помню-помню!
Отличная подача материала! Полезного материала! Так держать! Коротко, емко, по делу, с терминалом.
Спасибо!
И тебе спасибо за качественный контент! Коротко и по делу - всё как я люблю.
Спасибо!
Хороший видос, держишь уровень
Спасибоо! Будем продолжать
Классный ты парень, информативность роликов -> 100%. Коротко и лаконично без воды и все по делу!!! Спасибо!!!
Спасибо, рад, что полезно:)!
Привет! Расскажите поподробней про принципы выбора железа под проекты. Когда юзаете облака, когда впски и почему? Стоит ли покупать самому сервера и платить за колакейшн в дата центре? Выносете сразу бд на отдельные сервера или когда это пора делать? У вас же селектел? Почему именно данная компания? юзаете ли CDN (какие)? Ну и хотелось бы про репликации БД, серверов, конфиги балансировщиков, может какие-то тонкости в DNS и в целом советы про то, что делать, когда проекты начали расти...
на собес чтоли собрался?
можешь юзать ovh.ie, там вдс и дедики, а cdn от клоудфларе (при этом бесплатно)
@@lmaq8352 Где купить - это не проблема. Вопрос был про то, как выбрать и что выбрать под растущие проекты. А с клоудфлеером уже был негативный опыт, когда банили телеграм - на проекте трафик упал в 2 раза, тк оказалось что в блок листе РКН находились и их айпишники. Насколько мне известно у некоторых провайдеров некоторые их айпишники до сих пор в блок листе. И этот момент очень сложно отследить...
Сразу лайк, потому, что интересно!
Отличные вещи рассказываешь!)))) Благодарю за очень достойный контент.
спасибо!
Круто как всегда чувак! Продолжай)
Спасибооо!
Круто, спасибо! :)
Приятно смотреть и слушать. Контент полезный. Спасибо!
Спасибооо!
Огоромное спасибо !!! очень полезная информация
Отлично:)
Хоть конспектируй. Лучше многих "видеоурокоав"
Спасибо!
Спасибо. Полезно. Побольше таких видео с полезными командами линукс.
Будем продолжать обязательно! Спасибо!
Спасибо, не знал про рипгреп
Спасибо, ripgrep надо взять на вооружение!
Спасибо добрый человек !
Хорошая подача материала, спасибо автору канала, ничего лишнего все по делу. )))
Спасибо!
Docker и Docker Compose. Канал супер! Контент, как всегда, на уровне!
Спасибо!
Да, пришла та же мысль, очень хочется послушать про докеры в интропретации автора
Очень актуальный для меня видосик, как раз решил апнуть знания linux, спасибо :3
Отлично! Хорошего UP'а:)
Вот спасибо огромное. grep работает отлично. Я даже не искал варианты. :) Оч. полезно.
Супер! Расскажи ещё про какие нибудь полезные утилиты
будут еще видео по линуксу обязательно
Ага, awk и всё, что из него можно сделать ;) Но он наверное на цикл не меньше vim потянет?
Спасибо, круто!!!
Спасибо за видео и за кошака на обоях))
Полезное содержания, Спасибо
Спасибо!
У тебя отличные видосы! Качество картинки и сам контент топ. Сделай видео про docker, будет очень интересно
Сделаем обязательно, спасибо!
Спасибо за видео ! Про iptables(развернуто), cron, busybox было бы интересно послушать в вашем исполнении.
Спасибо!
очень полезно, спасибо.подписка)))
Спасибо!
спасибо, очень круто!
Спасибо!
Установка ripgrep для тех, кто на Ubuntu 18.04 или выше:
1) Ставим Rust:
curl --proto '=https' --tlsv1.2 -sSf sh.rustup.rs | sh
2) Ставим сам ripgrep:
cargo install ripgrep
В пакетном менеджере есть только для "Ubuntu Cosmic (18.10) (or newer)"
Спасибо, что помогаешь прокачивать различные скилзы :)
Спасибо! Рад, что полезно:)
Спасибо за инфу по рипгреп. Приятно было узнать что его и на винду можно накатить! Очередной лукас!
Отличнооо! Ripgrep хорош, чертяка:)
отличное видео!
раньше при поиске текста в файлах приходилось использовать find, а далее передавать через xargs найденные файлы грепу. теперь буду использовать рекурсивный греп, спасибо!
Отлично, рад, что полезно! Grep крутой:)
ЭТОФИНАМИНАЛЬНО!!!!!ТОЧТОНАДОИВОДНОММЕСТЕ!!!! Примного благодарен!
💪💪💪
Наглядно рассказал. Респект
Спасибо!
Давай за асинхронщину в python.
И спасибо за классный контент, интересно и полезно смотреть
Асинхронщина будет :) спасибо!
Годноту подвезли =)
спасиб:)
Спасибо!
Побольше таких видео про консоль пожалуйста. Какими консольными утилитами ещё пользуешься в повседневной работе.
Да, будем продолжать эту тему, спасибо!
Про свой почтовый сервер было бы интересно послушать и посмотреть.
Спасибо, что не забрасываешь канал!)
Канал растёт понемногу, приятно:)
Спасибо ) полезно )
отлично:)
ripgrep - вот за это спасибо!
Он хорош, да!
Спасибо
Реально круто, только небольшой вопрос: А ты мог бы свои видео дублировать в виде статей ? Ну по типу статей на хабре, чтобы можно было пройтись по тексту и наглядно посмотреть.
Это мысль - сделаем блог на сайте со временем. Для хабра такой контент слишком простой, у меня там есть несколько статей habr.com/ru/users/sterx/posts/, но тексты на хабре должны быть вах:)
Опять же каждый инструмент для своей задачи. ripgrep'ом можно искать по проектам, греп удобно в баш скриптах использовать.
И скучал по новым видео)
Спасибо, поиск это то что нужно и не хватало, буду применять;)
К идеям: все жду обещанное видео по телеграм боту;))
П.с. отдельное спасибо, что не делаешь уроки для новичков пайтон! Из на ютубе пруд пруди, а вот таких как у тебя жизненных и нужных единицы! Так держать!)
Спасибооо, будем продолжать! Telegram будет обязательно
супер)
спасибо!
Увидеть бы подробную установку Hyperbola Linux, было бы прикольно.
ripgrep огонь прям :)
Спасибо за подсказку. Ripgrep super. Расскажите про ansible. Очень жду )))
Спасибо! Расскажем :)
а ripgrep и правда мощный! спасибо за "наколку"!
Я про include записал). Спс
locate или mlocate еще можно использовать для поиска файлов, работают быстрее find, правда по умолчанию не установлены
у них есть неудобная штука - нужно обновлять периодически её БД, если появились новые файлы и поиск файлов нужно сделать прям сейчас. А find-у пофиг))
Fire! Like!
Thanks!
Спасибо за интересное видео. Хотелось бы подробное видео про gunicorn в связке с nginx.
такое видео есть на канале - полноценная настройка чистого Django сервера с Nginx, Пunicorn, PostgreSQL и тд
Спасибо. Видео посмотрел. Я подумал, что кроме обычной конфигурации есть какие-то нюансы.
Здраствуйте, все круто насамом деле про ripgrep я не знал
Можете подробно рассказать про docker-compose
Алаксей, подскажи плиз, ripgrep не выполняет функции zgrep? У меня не получилось)
Было бы интересно сконцентрироваться на утилитах, установленных по умолчанию.
К примеру, у нас запрещено устанавливать левый софт, на машины, и правильно. Вот когда ripgrep будет в составе binutil, тогда о нем можно подумать, а пока я в его сторону даже не посмотрю.
Сначала привыкаешь к всяким удобняшкам, а потом БАЦ, на проекте тебе дают голую машину и усё, приплыли.
Ripgrep в моем формате использования - на машине разработчика, не на продакшн серверах. На продакшн серверах возможно действительно не стоит ставить, хотя я лично так не параною, open source же.
Отличные видосы! Расскажи про плагины на vim для работы в python!
Спасибо! Да, по виму будут видосы
У нас и Вим, и grep и Пайтон. Они много где юзают регулярные выражения. (Да и не только)
Как по мне лучше 2-х часового чтения мануала perldoc perlretut трудно придумать, но мне кажется, что видео по ним было бы полезным)
Кстати да, по регуляркам тоже можно снять обзорный для тех, кто их совсем боится. Спасибо за идею!
@@t0digitalВидео про регулярки было бы вообще прекрасно. И спасибо за Ваш контент в целом)
Спасибо за видео!!! Очень классное видео. Обожаю терминал и работать без иксов. По этому любые видео о linux терминале, о прогах в нём это моя страть!
Хотелось бы про утилиту screen узнать от вас, и о том, как можно на python накодить, чтоб запустить код в терминале и можно было просматривать фото и текст. Как карточка на человека
Было видео хорошее про tmux, или он вместо screen чем-то не подходит?
@@eananyev спасибо большое за подсказку. Сейчас гляну видео о tmux.
ripgrep is a fantastic thing
А какие проблемы вызвал ack? делает всё быстро , есть плагин под vim, работают исключения.
Дерб, адов :-) Water, drivel :-)
Огромное тебе спасибо чувак!!! Ты меня избавил от долгих мучений с говнокодом opencart 2 и неизвестным для меня MVC (что и где находится). Дело в том, что я долго не мог найти ключ массива $product, который был в модуле, который в свою очередь был в xml модуле, который я устанавливал год назад)))) Все нашлось, еще раз огромное спасибо за такую годноту:)
Йее! Отлично!
А как Emacs дружит с этим новым grep? Скорее всего сломается. Но ради интереса все же попробую.
Не использую Emacs, ничего не могу сказать
Добавил в Избранное
Отлично, спасибо!
Хотел уточнить, а если мы использует grep -rin --include="*.ry" и тд. То если я Вас правильно понял то он будет искать только в текущем катологе или по всей системе? А как сделать, например чтобы смысл был тот же, но уже в текущей папке? ну например /var/pr1/log
Поиск по всем *.py файлам в текущей папке (точка в конце обозначает текущую папку):
grep -rin --include="*.ry" .
В папке /var/pr1/log:
grep -rin --include="*.ry" /var/pr1/log
r - это recursive, то есть рекурсивно в указанной папке по всем вложенным папкам
@@t0digital спасибо! Вот радует что вы всегда отвечаете! Спасибо! Успехов!
Благодарю! Открыл для себя reipgrep. Хочу обратить ваше внимание на fzf - нечёткий поиск. В vim'e аналог - ctrlp. Я использую для открытия файлов в vs2019 и для запуска приложений в i3-gaps. Например, в большинстве DE поиск не сможет найти Firefox по запросу: frfx
Еще интересно было бы посмотреть про обзор бесплатных панелей для управления веб сервером
Расскажите про настройку почтового сервера, например exim4 в Debian Buster. Какие возможны варианты (использование стороннего pop/smtp сервера для получения/доставки email'ов, использование его как самостоятельного сервера со своим адресом @mydomain.com, или ещё какие-то варианты). Информации на русском языке по этой теме в интернете почему-то крайне мало.
Здравсвуйте! скажите пожалуйста планируете вы снимать видио для тех кто собирается изучать Python, понимаю куча видео на RUclips есть но ваша подача мне очень нравится, Желаю вам успехов!
Он в каком то видео говорил что этот канал не для начинающих, и тут не будет базовых вещей
Python прост - почитайте «Простой Python» to.digital/simple-python и закрепляйте на практике сразу
@@t0digital Спасибо вам за ответ, скачаю обязательно книгу и прочту.
Расскажи как принимать почту на сервер, postfix и тд. Что лучше использовать и как настроить, спасибо.
не очень много опыта в этом вопросе, но сам сервак настроить несложно, возможно расскажем
@@t0digital Спасибо :).
P.S. Если не сложно, можешь тогда рассказать как читать почту с помощью python'а или javascript'а, это очень сильно упростит жизнь многим людям. Ещё раз спасибо
@@sergeydymov6972 1) читаем почту с помощью telnet ; 2) читаем почту уже пофиг с чьей помощью ;)
Во время кнопочных телефонов перед самым боем курантов отправлял десяток SMS-поздравлений простым linux-скриптом на роутере через почтовый шлюз Мегафона, в пик нагрузки сети -- всё прилетало ;)
Здравствуйте. Скажите пожалуйста, Вам знакома команда или способ осуществить поиск содержимого файла по нескольким словам, но не последовательно, а в разброс. Например в экселе в ячейке есть предложение: "Предложение - единица человеческой речи." Нажимаю контрл+F и ввожу: *единица*человеческой*речи*. Нажимаю найти и программа выделяет нужную ячейку, где имеется набор этих слов. Проблема в том, что можно вводить только последовательно, а не в разброс, а именно нажимаю контрл+F и ввожу: *речи*единица*человеческой. Нажимаю найти и программа пишет что ничего не найдено. А хотелось бы.
Вода боржоми и тест на блок :))) А так крут коммент для продвижения видоса)
Блок пока в ручном режиме:))) спасибо!
Есть возможность записи результатов поиска в файл? В документации не нашел. При парсинге логов веб-сервера это необходимо, иначе скроллить в cmd не айс.
вывод любой команды можно перенаправить в файл командой >. Например:
grep "print" . > grepped.log
@@t0digital спасибо! стало стыдно)...
@@ernandoc5899 учиться или вспоминать что-то не стыдно :)
htop на фоне - это пять)
Как всегда годный контент! Продолжай в том же духе. А на хейтеров не обращай внимания, к сожалению с ростом канала их будет только больше. Что с Django 3 и асинхронностью? Как понимаю ее только планируют вводить. Сейчас использую Django Channels 2 для просушки сообщений с системы мониторинга. Какие можно еще использовать инструменты для отображения сообщений в реальном времени в проекте на Django?
Спасибо! Мы немного используем Channels, немного используем Node для веб-сокетных дел. С асинхронностью в Django 3 что-то заявили, да, но ещё не вникали. Вникнем расскажем, спасибо:)
Прошу больше про администрирование линукс серверов
Будет:) Спасибо!
@@t0digital может порекомендуете какой-нибудь курс по сисадмину?
Хороший автопортрет на обоях!
Благодарю
А как, к примеру, выдать только нужное количество символов после Charfield ?
Так чем именно плох ack? Я им пользуюсь и проблем не замечаю.
Он раньше не искал в TypeScript файлах, сейчас возможно поправили
Лайк
Спасибо!
Позитивный комментарий.
Хахахах :) Спасибо!
Давно назрел такой вопрос, а какие операционные системы используются в IT компаниях? Linux? Везде в требованиях к работе программиста указано "владение ОП *nix на уровне пользователя". Хочу установить на ноут и освоить, подскажите, люди добрые.
В качестве серверов линукс, да. Как машина разработчика по-разному, где-то маки, где-то винда, где-то десктопные линукс с GUI. Но линукс нужно знать разработчику в любом случае, да.
@@t0digital , какую версию линукса для освоения поставить? Mint, ubintu?
@@hellaildraven3886 раньше мне нравился минт, сейчас убунта тоже неплоха. Elementary хвалят
Но это все gui, в консоли разница не столь уже велика, многие утилиты в консоли работают одинаково не то что в разных сборках линукса - они даже на маке так же работает, в Mac OS:) поэтому изучайте консоль, для разработчика это важно, не GUI. Хотя в линукс сейчас и gui весёлое
@@t0digital спасибо, поставлю тогда минт для начала наверное.
Доброго времени суток вам. У меня есть вопрос как мне вывести отдельно текст из скобок? Пример:
{
"code": 1,
"text": "Этот текст"
}
привет, не понял вопрос
@@t0digital Ну у меня есть команда которая принимает текст и выводит его как в примере(*"text": "d"*) и мне нужно отсортировать только "d"
Стало ещё ненонятнее.
@@t0digital Ну у меня есть текст и среди из него нужно вытащить из строки определённое слово, причём оно может быть абсолютно любым.
К примеру у меня есть:
{
"code": -1,
"text": "Dog"
}
И как мне отсюда вытащить "Dog"?
rip grep. иронично
+ Не глядя
Спасибо!
rg -i --files - для файлов!
Скрытая реклама Боржоми
Хорошо бы не забыть, применить данные фишки!
применяйте - и не забудете:)!
Брат, все классно, поясни докеры pls, эта тема горит.
Спасибо! Про докер будет, да
По теме сюда awk просится.
ЗЫЖ за ripgrep спасибо. Всё забываю потрогать
А еще ripgrep умеет искать в файлах с кодировкой utf16
Оп, grep на расте))
чудеса, ага:)
Помнится кто то обещал бота для телеги написать)) я всё помню)))
Помню помню
Прикольно, спасибо. Не уверен, что rg подойдет для всех задач, но однозначно нужно ознакомиться.
Из того, что бросилось в глаза - для грепа не хватает подсветки. Мне показался очень удобным колорайзер grc, рекомендую посмотреть - github.com/garabik/grc
Не знал о grc, задумка интересная, поизучаю. Спасибо!
добавь часто используемый в этой группе команд xargs
в файнде достаточно дота, слэш не нужен
вывод rg неудобен в скриптовании
Спасибо! Да, для дальнейшей работы с найденными результатами стандартный вывод rg неудобен, но если добавить --no-heading, то вывод становится похож на вывод grep
@@t0digital плюс я надеюсь rg понимает куда вываливает свой стдаут - если в пайп то, колоризация должна отменяться! ;)