Как удалить дубли строк с помощью awk
Разбираем ассоциативный массив awk в конструкции !a[$0]++ и удаляем повторяющиеся строки за один проход. Дополнительно считаем вхождения и выполняем дробные вычисления.
Фото: cottonbro studio / Pexels
Фото: Emre Karademir / PexelsЗдесь собраны все публикации блога Bashdays — заметки про Linux, DevOps и айтишные технологии.
Разбираем ассоциативный массив awk в конструкции !a[$0]++ и удаляем повторяющиеся строки за один проход. Дополнительно считаем вхождения и выполняем дробные вычисления.
Фото: cottonbro studio / PexelsИспользуем специальное устройство /dev/full, чтобы воспроизвести ошибку No space left on device без заполнения диска. Готовый Bash-скрипт проверяет обработку ошибки записи.
Фото: Nina zeynep güler 🦕 zz / PexelsКороткая команда sed добавляет ANSI-коды цвета к найденной подстроке и сохраняет весь контекст файла. Достаточно заменить string на нужное слово.
Фото: https://kaboompics.com/ / PexelsЭкспериментально запускаем Bash-скрипт по URL через Nginx и fcgiwrap. Настраиваем FastCGI-сокет, location и SCRIPT_FILENAME, а также рассматриваем вариант с Lua.
Фото: RDNE Stock project / PexelsПоказываем, как Bash вычисляет арифметические выражения внутри индекса массива. На примерах 6%2, 7%2 и 5%3 разбираем остаток от деления и выбор элемента.
Фото: Jan van der Wolf / PexelsЗапускаем Docker Compose на удалённом сервере прямо из GitLab CI через SSH-контекст. Обходимся без rsync и scp, выполняя down, pull и up из пайплайна.
Фото: Fives TM / PexelsСравниваем арифметические циклы Bash, диапазоны, seq, чтение файлов и перебор путей. В конце — три необычные конструкции for для собеседований и экспериментов.
Фото: Giant Asparagus / PexelsНесколько curl-команд для запуска ASCII-анимаций прямо в терминале и ссылки на исходники parrot.live и ascii-live.
Фото: Abdul Kayum / PexelsИстория о командной ретроспективе, оценке спринта, пустом бэклоге и отчётности, которая важнее незаметно работающего продакшена.
Фото: Matheus Bertelli / PexelsСобираем бесплатную альтернативу Nginx Plus: Nginx принимает запросы через Unix-сокет, а HAProxy проверяет бэкенды и распределяет трафик.
Фото: Kathrine Birch / PexelsРазбираем цепочку DOCKER-USER, именованный bridge-интерфейс и правила iptables, которые ограничивают доступ к опубликованным портам контейнера.
Фото: Brett Sayles / PexelsШпаргалка по консольным инструментам Linux для наблюдаемости и отладки: от strace и perf до iostat, ss, tcpdump и анализа дисков.
Фото: 04iraq / Pexels