Nano Hash - криптовалюты, майнинг, программирование

советы и рекомендации в awk

Я ищу предостережения, советы и рекомендации и т. д. для awk. Например:

awk '$9=="404"{a[$7]++}END{for(i in a)print a[i],i}' access.log|less

этот код будет печатать ошибки, агрегированные по пути к странице.

Существует хитрость, чтобы отсортировать массив, установив для WHINY_USERS любое ненулевое значение, чтобы автоматически использовать функцию isort для массива перед печатью:

WHINY_USERS=1 awk '$9=="404"{a[$7]++}END{for(i in a)print a[i],i}' access.log|less

Этот код вернет те же ошибки, но отсортированные по имени ключа (пути).

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

28.07.2012

  • см. также awk.info. Широкий спектр написания приложений awk (но не совсем список приемов). Лучшие трюки в awk, как вы, кажется, знаете, это нумерованные поля, split(), substr(), (g|gen)sub() и ассоциативные массивы, и, конечно же, старая добрая логика if-then-else. Удачи! 28.07.2012
  • WHINY_USERS была удалена в gawk 4.0 (см. noreferrer">diff). Этот флаг изменял способ работы с массивами, это невозможно сделать с isort. 28.07.2012
  • В gawk 4.0 вы можете использовать PROCINFO["sorted_in"] = "@ind_num_asc" в своей gawk программе, чтобы получить тот же эффект, что и WHINY_USERS=1. См. gnu.org/software/gawk/manual/gawk.html. #Контроль-Сканирование 28.07.2012

Ответы:


1

Учитываются ли Awk One Liners?

http://www.pement.org/awk/awk1line.txt

28.07.2012

2

В версии 4.0 gawk появился отладчик.

http://www.gnu.org/software/gawk/manual/html_node/Debugger.html

Starting dgawk is exactly like running awk. The file(s) containing
the program and any supporting code are given on the command line
as arguments to one or more -f options. (dgawk is not designed to
debug command-line programs, only programs contained in files.) In
our case, we call dgawk like this:

     $ dgawk -f getopt.awk -f join.awk -f uniq.awk inputfile
28.07.2012
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..