Sed, cut, grep, awk у вас уже не core utils?

21 ответов

6 просмотров

Ну так себе пример. sed -- потоковый процессор, grep -- искалка, awk -- язык процессинга текста.

Timur-Gadiev Автор вопроса
Николай М
Ну так себе пример. sed -- потоковый процессор, gr...

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

Timur Gadiev
Все три умеют в регулярки для очень навороченного ...

Тогда давайте считать всё, что умеет в регэкспы, имеющим одинаковое назначение.

Timur-Gadiev Автор вопроса
Николай М
Тогда давайте считать всё, что умеет в регэкспы, и...

Мой тезис был в том, что у этих инструментов куча дублирующего функционала. По сути любую типичную задачу для любого из этих инструментов можно успешно реализовать и на другом.

Timur Gadiev
Мой тезис был в том, что у этих инструментов куча ...

Можно-то можно, но это потребует очень разных усилий. Искать удобнее всего грепом, заменять -- седом, делать манипуляции с полями -- авком. Да, их можно заменить один другим, но это будет забивание шурупов молотком и закручивание гвоздей отверткой.

Timur-Gadiev Автор вопроса
Николай М
Можно-то можно, но это потребует очень разных усил...

Это просто набор предубеждений. Если вы попробуете реально сравнить примеры реализации типичных задач на этих инструментах, они не будут сильно отличаться по трудоемкости. «Удобнее» тут упирается скорее в личный опыт и стереотипы. Кто какой инструмент лучше знает, тот ему и «удобнее».

Timur Gadiev
Это просто набор предубеждений. Если вы попробуете...

Имею счастье пользоваться всеми троими практически ежедневно (cut как-то исторически не зашёл, да и чёрт с ним), и нахожу, что вы не правы. Опять же, вкусовщина. Но в данном случае уже на моей стороне мнение большинства -- грепом, в основном, ищут, седом заменяют, а авком тасуют поля.

Timur-Gadiev Автор вопроса
Николай М
Имею счастье пользоваться всеми троими практически...

В основном люди часто пишут cat blablabla | grep foobar Это не означает, что данный подход правильный и оптимальный

Timur-Gadiev Автор вопроса

И, честно говоря, я не очень понял, в чем я, как вы считаете, неправ? Какая из реальных задач по-вашему принципиально отличается по сложности реализации на этих инструментах?

Timur Gadiev
И, честно говоря, я не очень понял, в чем я, как в...

Первое, что приходит в голову -- селекторы авка значительно уступают по гибкости и юзабельности грепу. Хватит?)

Timur-Gadiev Автор вопроса
Николай М
Первое, что приходит в голову -- селекторы авка зн...

Конкретнее, если можно. Что за селекторы?

Timur Gadiev
Конкретнее, если можно. Что за селекторы?

У авка есть // перед главным блоком. Это называется "селектор". Им можно фильтровать входные строки. echo bzz bzz | awk '/zz/ { print $0 }'

Timur Gadiev
И?

см. выше. Греп значительно удобнее.

Timur-Gadiev Автор вопроса
Николай М
см. выше. Греп значительно удобнее.

Чем? В чем кардинальное отличие-то? Можно конкретику добавить?

Timur Gadiev
Чем? В чем кардинальное отличие-то? Можно конкрети...

Сделайте, пожалуйста, авком grep -PIrA4 'when:$' быстро, не читая мануалы

Timur-Gadiev Автор вопроса
Николай М
Сделайте, пожалуйста, авком grep -PIrA4 'when:$' б...

awk '/when:$/ {print; for(i=1; i<=4; i++) {getline; print}}' -R .

Timur Gadiev
awk '/when:$/ {print; for(i=1; i<=4; i++) {getline...

Что-то пошло не так (venv-ansible-212) 0 nbw@suitcase.nbw74.com southbridge/aux% (master:✚) awk '/when:$/ {print; for(i=1; i<=4; i++) {getline; print}}' -R . awk: fatal: cannot open file `-R' for reading: No such file or directory Думаю, разница с грепом очевидна.

Timur-Gadiev Автор вопроса
Николай М
Что-то пошло не так (venv-ansible-212) 0 nbw@sui...

Не, ну это не спортивно, так я тоже могу >grep -PIrA4 'when:$' grep: invalid option -- P

Похожие вопросы

Обсуждают сегодня

Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
А чего при переходе с 2 на 3 все что в билдере сделано тютю?
Денис Александрович
5
Всем привет, Добавил в плагин определение user agent public function registerMarkupTags() { return [ 'filters' => [ 'staticPage' => ['RainLab\Pages\Cl...
John Norton Kruger
3
Я колись ставив гуглу антиспам 3.0, може і норм, але мені не дуже зайшло. Теж думав тиждень, що його і куди. Зупинився на трех варіантах відразу всі три і включив 1. Перевір...
𝓔𝓾𝓰𝓮𝓷𝓮𝓥 J
2
К слову, почему бы не использовать ссылки на папки, вместо инвайтинга?
Артем Уколов
3
Кастомные эмодзи для ботов доступны только элите, верно?
山 | Bobby | 山
3
Всем привет, может кто знает нормальных иностранных хостинг провайдеров. Что бы по качеству аналогичные netangels, beget, timeweb?
Black Cat
4
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
а плагин никто еще не написал ?
DAVID (Data Analyst)
2
Добрый день , слышали про то что XML схемы https://schemas.xmlsoap.org/soap/envelope/ перестали работать со поза-вчера. А домен https://schemas.xmlsoap.org/ , отвечает 404 оши...
Max Dubovsky
3
Карта сайта