Поиск файлов в 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...
Расскажи про настройки безопасности в линукс. Особенно про сетевую безопасность.
Спасибо, расскажем!
Классный ты парень, информативность роликов -> 100%. Коротко и лаконично без воды и все по делу!!! Спасибо!!!
Спасибо, рад, что полезно:)!
Вот прям от всей души!!! Огромное спасибо.
Хороший видос, держишь уровень
Спасибоо! Будем продолжать
Отличная подача материала! Полезного материала! Так держать! Коротко, емко, по делу, с терминалом.
Спасибо!
И тебе спасибо за качественный контент! Коротко и по делу - всё как я люблю.
Спасибо!
Круто, спасибо! :)
Отличные вещи рассказываешь!)))) Благодарю за очень достойный контент.
спасибо!
Пожалуйста сними обещанный ролик про vim + Python)
помню-помню!
Круто как всегда чувак! Продолжай)
Спасибооо!
Спасибо, не знал про рипгреп
Спасибо. Полезно. Побольше таких видео с полезными командами линукс.
Будем продолжать обязательно! Спасибо!
Сразу лайк, потому, что интересно!
Очень актуальный для меня видосик, как раз решил апнуть знания linux, спасибо :3
Отлично! Хорошего UP'а:)
Приятно смотреть и слушать. Контент полезный. Спасибо!
Спасибооо!
Хорошая подача материала, спасибо автору канала, ничего лишнего все по делу. )))
Спасибо!
Огоромное спасибо !!! очень полезная информация
Отлично:)
Супер! Расскажи ещё про какие нибудь полезные утилиты
будут еще видео по линуксу обязательно
Ага, awk и всё, что из него можно сделать ;) Но он наверное на цикл не меньше vim потянет?
Вот спасибо огромное. grep работает отлично. Я даже не искал варианты. :) Оч. полезно.
Спасибо за инфу по рипгреп. Приятно было узнать что его и на винду можно накатить! Очередной лукас!
Отличнооо! Ripgrep хорош, чертяка:)
Спасибо, круто!!!
очень полезно, спасибо.подписка)))
Спасибо!
У тебя отличные видосы! Качество картинки и сам контент топ. Сделай видео про docker, будет очень интересно
Сделаем обязательно, спасибо!
отличное видео!
раньше при поиске текста в файлах приходилось использовать find, а далее передавать через xargs найденные файлы грепу. теперь буду использовать рекурсивный греп, спасибо!
Отлично, рад, что полезно! Grep крутой:)
Спасибо добрый человек !
Годноту подвезли =)
спасиб:)
Спасибо за видео и за кошака на обоях))
спасибо, очень круто!
Спасибо!
Полезное содержания, Спасибо
Спасибо!
Привет! Расскажите поподробней про принципы выбора железа под проекты. Когда юзаете облака, когда впски и почему? Стоит ли покупать самому сервера и платить за колакейшн в дата центре? Выносете сразу бд на отдельные сервера или когда это пора делать? У вас же селектел? Почему именно данная компания? юзаете ли CDN (какие)? Ну и хотелось бы про репликации БД, серверов, конфиги балансировщиков, может какие-то тонкости в DNS и в целом советы про то, что делать, когда проекты начали расти...
на собес чтоли собрался?
можешь юзать ovh.ie, там вдс и дедики, а cdn от клоудфларе (при этом бесплатно)
@@lmaq8352 Где купить - это не проблема. Вопрос был про то, как выбрать и что выбрать под растущие проекты. А с клоудфлеером уже был негативный опыт, когда банили телеграм - на проекте трафик упал в 2 раза, тк оказалось что в блок листе РКН находились и их айпишники. Насколько мне известно у некоторых провайдеров некоторые их айпишники до сих пор в блок листе. И этот момент очень сложно отследить...
Docker и Docker Compose. Канал супер! Контент, как всегда, на уровне!
Спасибо!
Да, пришла та же мысль, очень хочется послушать про докеры в интропретации автора
Спасибо за видео ! Про iptables(развернуто), cron, busybox было бы интересно послушать в вашем исполнении.
Спасибо!
Спасибо!
Спасибо, что помогаешь прокачивать различные скилзы :)
Спасибо! Рад, что полезно:)
Спасибо
Давай за асинхронщину в python.
И спасибо за классный контент, интересно и полезно смотреть
Асинхронщина будет :) спасибо!
Спасибо, ripgrep надо взять на вооружение!
Хоть конспектируй. Лучше многих "видеоурокоав"
Спасибо!
Спасибо ) полезно )
отлично:)
Наглядно рассказал. Респект
Спасибо!
Установка 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)"
супер)
спасибо!
Спасибо, поиск это то что нужно и не хватало, буду применять;)
К идеям: все жду обещанное видео по телеграм боту;))
П.с. отдельное спасибо, что не делаешь уроки для новичков пайтон! Из на ютубе пруд пруди, а вот таких как у тебя жизненных и нужных единицы! Так держать!)
Спасибооо, будем продолжать! Telegram будет обязательно
ripgrep огонь прям :)
ripgrep - вот за это спасибо!
Он хорош, да!
Спасибо, что не забрасываешь канал!)
Канал растёт понемногу, приятно:)
Реально круто, только небольшой вопрос: А ты мог бы свои видео дублировать в виде статей ? Ну по типу статей на хабре, чтобы можно было пройтись по тексту и наглядно посмотреть.
Это мысль - сделаем блог на сайте со временем. Для хабра такой контент слишком простой, у меня там есть несколько статей habr.com/ru/users/sterx/posts/, но тексты на хабре должны быть вах:)
Побольше таких видео про консоль пожалуйста. Какими консольными утилитами ещё пользуешься в повседневной работе.
Да, будем продолжать эту тему, спасибо!
Про свой почтовый сервер было бы интересно послушать и посмотреть.
Опять же каждый инструмент для своей задачи. ripgrep'ом можно искать по проектам, греп удобно в баш скриптах использовать.
И скучал по новым видео)
ЭТОФИНАМИНАЛЬНО!!!!!ТОЧТОНАДОИВОДНОММЕСТЕ!!!! Примного благодарен!
💪💪💪
Я про include записал). Спс
Огромное тебе спасибо чувак!!! Ты меня избавил от долгих мучений с говнокодом opencart 2 и неизвестным для меня MVC (что и где находится). Дело в том, что я долго не мог найти ключ массива $product, который был в модуле, который в свою очередь был в xml модуле, который я устанавливал год назад)))) Все нашлось, еще раз огромное спасибо за такую годноту:)
Йее! Отлично!
Fire! Like!
Thanks!
locate или mlocate еще можно использовать для поиска файлов, работают быстрее find, правда по умолчанию не установлены
у них есть неудобная штука - нужно обновлять периодически её БД, если появились новые файлы и поиск файлов нужно сделать прям сейчас. А find-у пофиг))
Спасибо за подсказку. Ripgrep super. Расскажите про ansible. Очень жду )))
Спасибо! Расскажем :)
Спасибо за видео!!! Очень классное видео. Обожаю терминал и работать без иксов. По этому любые видео о linux терминале, о прогах в нём это моя страть!
Хотелось бы про утилиту screen узнать от вас, и о том, как можно на python накодить, чтоб запустить код в терминале и можно было просматривать фото и текст. Как карточка на человека
Было видео хорошее про tmux, или он вместо screen чем-то не подходит?
@@eananyev спасибо большое за подсказку. Сейчас гляну видео о tmux.
Добавил в Избранное
Отлично, спасибо!
а ripgrep и правда мощный! спасибо за "наколку"!
Спасибо за интересное видео. Хотелось бы подробное видео про gunicorn в связке с nginx.
такое видео есть на канале - полноценная настройка чистого Django сервера с Nginx, Пunicorn, PostgreSQL и тд
Спасибо. Видео посмотрел. Я подумал, что кроме обычной конфигурации есть какие-то нюансы.
Было бы интересно сконцентрироваться на утилитах, установленных по умолчанию.
К примеру, у нас запрещено устанавливать левый софт, на машины, и правильно. Вот когда ripgrep будет в составе binutil, тогда о нем можно подумать, а пока я в его сторону даже не посмотрю.
Сначала привыкаешь к всяким удобняшкам, а потом БАЦ, на проекте тебе дают голую машину и усё, приплыли.
Ripgrep в моем формате использования - на машине разработчика, не на продакшн серверах. На продакшн серверах возможно действительно не стоит ставить, хотя я лично так не параною, open source же.
+ Не глядя
Спасибо!
А как Emacs дружит с этим новым grep? Скорее всего сломается. Но ради интереса все же попробую.
Не использую Emacs, ничего не могу сказать
Отличные видосы! Расскажи про плагины на vim для работы в python!
Спасибо! Да, по виму будут видосы
ripgrep is a fantastic thing
У нас и Вим, и grep и Пайтон. Они много где юзают регулярные выражения. (Да и не только)
Как по мне лучше 2-х часового чтения мануала perldoc perlretut трудно придумать, но мне кажется, что видео по ним было бы полезным)
Кстати да, по регуляркам тоже можно снять обзорный для тех, кто их совсем боится. Спасибо за идею!
@@t0digitalВидео про регулярки было бы вообще прекрасно. И спасибо за Ваш контент в целом)
Благодарю! Открыл для себя reipgrep. Хочу обратить ваше внимание на fzf - нечёткий поиск. В vim'e аналог - ctrlp. Я использую для открытия файлов в vs2019 и для запуска приложений в i3-gaps. Например, в большинстве DE поиск не сможет найти Firefox по запросу: frfx
Еще интересно было бы посмотреть про обзор бесплатных панелей для управления веб сервером
Здравсвуйте! скажите пожалуйста планируете вы снимать видио для тех кто собирается изучать Python, понимаю куча видео на RUclips есть но ваша подача мне очень нравится, Желаю вам успехов!
Он в каком то видео говорил что этот канал не для начинающих, и тут не будет базовых вещей
Python прост - почитайте «Простой Python» to.digital/simple-python и закрепляйте на практике сразу
@@t0digital Спасибо вам за ответ, скачаю обязательно книгу и прочту.
Расскажите про настройку почтового сервера, например exim4 в Debian Buster. Какие возможны варианты (использование стороннего pop/smtp сервера для получения/доставки email'ов, использование его как самостоятельного сервера со своим адресом @mydomain.com, или ещё какие-то варианты). Информации на русском языке по этой теме в интернете почему-то крайне мало.
Позитивный комментарий.
Хахахах :) Спасибо!
htop на фоне - это пять)
Хотел уточнить, а если мы использует 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 спасибо! Вот радует что вы всегда отвечаете! Спасибо! Успехов!
Как всегда годный контент! Продолжай в том же духе. А на хейтеров не обращай внимания, к сожалению с ростом канала их будет только больше. Что с Django 3 и асинхронностью? Как понимаю ее только планируют вводить. Сейчас использую Django Channels 2 для просушки сообщений с системы мониторинга. Какие можно еще использовать инструменты для отображения сообщений в реальном времени в проекте на Django?
Спасибо! Мы немного используем Channels, немного используем Node для веб-сокетных дел. С асинхронностью в Django 3 что-то заявили, да, но ещё не вникали. Вникнем расскажем, спасибо:)
А какие проблемы вызвал ack? делает всё быстро , есть плагин под vim, работают исключения.
Есть возможность записи результатов поиска в файл? В документации не нашел. При парсинге логов веб-сервера это необходимо, иначе скроллить в cmd не айс.
вывод любой команды можно перенаправить в файл командой >. Например:
grep "print" . > grepped.log
@@t0digital спасибо! стало стыдно)...
@@ernandoc5899 учиться или вспоминать что-то не стыдно :)
Хороший автопортрет на обоях!
Благодарю
Алаксей, подскажи плиз, ripgrep не выполняет функции zgrep? У меня не получилось)
Увидеть бы подробную установку Hyperbola Linux, было бы прикольно.
Вода боржоми и тест на блок :))) А так крут коммент для продвижения видоса)
Блок пока в ручном режиме:))) спасибо!
Здраствуйте, все круто насамом деле про ripgrep я не знал
Можете подробно рассказать про docker-compose
Дерб, адов :-) Water, drivel :-)
Прошу больше про администрирование линукс серверов
Будет:) Спасибо!
@@t0digital может порекомендуете какой-нибудь курс по сисадмину?
Лайк
Спасибо!
Здравствуйте. Скажите пожалуйста, Вам знакома команда или способ осуществить поиск содержимого файла по нескольким словам, но не последовательно, а в разброс. Например в экселе в ячейке есть предложение: "Предложение - единица человеческой речи." Нажимаю контрл+F и ввожу: *единица*человеческой*речи*. Нажимаю найти и программа выделяет нужную ячейку, где имеется набор этих слов. Проблема в том, что можно вводить только последовательно, а не в разброс, а именно нажимаю контрл+F и ввожу: *речи*единица*человеческой. Нажимаю найти и программа пишет что ничего не найдено. А хотелось бы.
Расскажи как принимать почту на сервер, postfix и тд. Что лучше использовать и как настроить, спасибо.
не очень много опыта в этом вопросе, но сам сервак настроить несложно, возможно расскажем
@@t0digital Спасибо :).
P.S. Если не сложно, можешь тогда рассказать как читать почту с помощью python'а или javascript'а, это очень сильно упростит жизнь многим людям. Ещё раз спасибо
@@sergeydymov6972 1) читаем почту с помощью telnet ; 2) читаем почту уже пофиг с чьей помощью ;)
Во время кнопочных телефонов перед самым боем курантов отправлял десяток SMS-поздравлений простым linux-скриптом на роутере через почтовый шлюз Мегафона, в пик нагрузки сети -- всё прилетало ;)
Прикольно, спасибо. Не уверен, что rg подойдет для всех задач, но однозначно нужно ознакомиться.
Из того, что бросилось в глаза - для грепа не хватает подсветки. Мне показался очень удобным колорайзер grc, рекомендую посмотреть - github.com/garabik/grc
Не знал о grc, задумка интересная, поизучаю. Спасибо!
Доброго времени суток вам. У меня есть вопрос как мне вывести отдельно текст из скобок? Пример:
{
"code": 1,
"text": "Этот текст"
}
привет, не понял вопрос
@@t0digital Ну у меня есть команда которая принимает текст и выводит его как в примере(*"text": "d"*) и мне нужно отсортировать только "d"
Стало ещё ненонятнее.
@@t0digital Ну у меня есть текст и среди из него нужно вытащить из строки определённое слово, причём оно может быть абсолютно любым.
К примеру у меня есть:
{
"code": -1,
"text": "Dog"
}
И как мне отсюда вытащить "Dog"?
Так чем именно плох ack? Я им пользуюсь и проблем не замечаю.
Он раньше не искал в TypeScript файлах, сейчас возможно поправили
А как, к примеру, выдать только нужное количество символов после Charfield ?
Давно назрел такой вопрос, а какие операционные системы используются в IT компаниях? Linux? Везде в требованиях к работе программиста указано "владение ОП *nix на уровне пользователя". Хочу установить на ноут и освоить, подскажите, люди добрые.
В качестве серверов линукс, да. Как машина разработчика по-разному, где-то маки, где-то винда, где-то десктопные линукс с GUI. Но линукс нужно знать разработчику в любом случае, да.
@@t0digital , какую версию линукса для освоения поставить? Mint, ubintu?
@@hellaildraven3886 раньше мне нравился минт, сейчас убунта тоже неплоха. Elementary хвалят
Но это все gui, в консоли разница не столь уже велика, многие утилиты в консоли работают одинаково не то что в разных сборках линукса - они даже на маке так же работает, в Mac OS:) поэтому изучайте консоль, для разработчика это важно, не GUI. Хотя в линукс сейчас и gui весёлое
@@t0digital спасибо, поставлю тогда минт для начала наверное.
Оп, grep на расте))
чудеса, ага:)
rg -i --files - для файлов!
uwsgi, gunicorn, uvicorn, hypercorn и другие
Брат, все классно, поясни докеры pls, эта тема горит.
Спасибо! Про докер будет, да
По теме сюда awk просится.
ЗЫЖ за ripgrep спасибо. Всё забываю потрогать
Rust - моя жызн!!1
он хорош, да:)?
@@t0digital, не без косячков, конечно, но в целом очень "правильный"
@@Ivan-qb7kc спасибо! Захотелось почитать по нему что-то. Порекомендуете?
@@t0digital, есть официальные книги. rust book - для полного погружения и rust by example - обзорная. Обе есть и на русском.
спасибо!
добавь часто используемый в этой группе команд xargs
в файнде достаточно дота, слэш не нужен
вывод rg неудобен в скриптовании
Спасибо! Да, для дальнейшей работы с найденными результатами стандартный вывод rg неудобен, но если добавить --no-heading, то вывод становится похож на вывод grep
@@t0digital плюс я надеюсь rg понимает куда вываливает свой стдаут - если в пайп то, колоризация должна отменяться! ;)
смотреть с 2.05
ripgrep вообще огонь, на серваки ставить я его конечно не буду, не кашерно это как-то, а вот на десктопный мастхэв
Да, для десктопа то, что нужно:)