[LVEE-Talks] Воркшоп: Обработка текста в Bash

Dmitriy Kostiuk dmitriykostiuk на gmail.com
Ср Янв 27 23:09:33 MSK 2016


Видел очень хороший доклад Дмитрия Левина по юскейсам strace.
Построено было как длинная последовательность слайдов с примерами 
запуска. Докладчик объяснял, что в них делается, в духе "а вот так с ним 
можно сделать вот это". Материала было очень много (некоторые 
записывали, другие надеялись на видео), но в целом несмотря на объём, 
получилось классно.

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

:)

27.01.2016 23:01, Vadim Zhukov пишет:
>
> 27 янв. 2016 г. 15:55 пользователь "Alexei Khlebnikov" 
> <alexei.khlebnikov на gmail.com <mailto:alexei.khlebnikov на gmail.com>> 
> написал:
> >
> > Привет всем,
> >
> > Хочу предложить воркшоп по обработке текста в Bash с помощью 
> Unix-утилит.
> >
> >
> > == Зачем это нужно ==
> >
> > В Unix, да и не только, много информации представлено в виде текста. 
> Это всевозможные листинги, отчёты, исходные коды, конфиги, логи, вывод 
> command-line утилит и так далее. Часто возникает задача извлечь из 
> большого количества текста что-то полезное, или отфильтровать что-то 
> ненужное, или преобразовать в более удобоваримую форму, или 
> отсортировать, или посчитать какую либо статистику по данным. Или 
> переименовать файлы, сгенерив для них имена. Некоторые люди пишут 
> большие программы на С для этого и потом мучительно их отлаживают, или 
> забивают и делают работу вручную, тратя неимоверную кучу времени. 
> Другие люди пишут программы попроще на Ruby/Python/Perl. Очень часто 
> такой подход - overkill. Да и не все мы программисты. Написать 
> однострочник в shell - легче и гораздо быстрее. Как это делать, 
> комбинируя стандартные (и не очень) утилиты командной строки - научит 
> данный воркшоп.
> >
> > == Целевая аудитория ==
> >
> > Этот воркшоп будет полезен для новичков и людей поопытнее, хотящих 
> упорядочить свои разрозненные знания по обработке текста с помощью 
> Unix-утилит. По моему опыту, для многих людей grep - самая сложная 
> утилита, что они используют. Так изменим же это!
> >
> > Обработка текста -
> > Полезна новичку,
> > И крутому профи,
> > И даже старичку.
> >
> > == Что в программе ==
> >
> > * Напоминание, что такое piping, оно же перенаправление ввода-вывода 
> в shell.
> > * Специальные источники ввода и приёмники вывода.
> > * Рассмотрение стандартных (и не очень) утилит: echo, cat, cut, tac, 
> seq, head, tail, touch, tr, xxd, sort, uniq, grep/egrep/pgrep, wc, 
> tee, find, xargs, sed, awk, rpl, rename, etc.
> > * Вскользь упоминаются perl и ruby.
> > * Комбинирование утилит, построение длинных однострочников шаг за 
> шагом и их отладка.
> > * Генерация одних скриптов другими и их запуск, с предпросмотром 
> результата генерации и без.
> > * "for" vs "xargs".
> > * Некоторые отличия GNU- и BSD- наборов утилит.
> > * Полезные и вредные пробелы. Как использовать первые и бороться со 
> вторыми.
> > * Регулярные выражения.
> > * "Полный" курс Awk на 13 слайдах. Офигейте от того как прост и 
> мощен Awk, как офигел когда-то я.
> > * Флеймообразующее: Почему Sed - отстой, и его область применения 
> следует ограничить, хоть и не отказаться от него полностью.
> > * Философское: Структурированный текст - это база данных, с записями 
> и полями.
> > * Границы применимости "маленьких" утилит и когда таки стоит 
> использовать Ruby/Python/Perl.
> >
> >
> > Будет ли народу интересен такой воркшоп?
>
> Это огромный объём информации. Реально. Даже с учётом того, что 
> базовые вещи, вроде того, как шелл ищет и обрабатывает команды, 
> объяснять вряд ли нужно.
>
> Идею в целом поддерживаю, готов помочь, но, повторюсь, заявленный 
> объём нужно резать раза в четыре. Минимум.
>
> --
> Vadim Zhukov
>
>
>
> _______________________________________________
> Talks mailing list
> Talks на lvee.org
> http://lists.lvee.org/mailman/listinfo/talks

----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://lists.lvee.org/pipermail/talks/attachments/20160127/0f6af681/attachment.html>


Подробная информация о списке рассылки Talks