Подготовка конфигурационных файлов из шаблонов — весьма распространённая задача системного администрирования. Решать её можно разными способами, каждый из которых хорош по-своему, здесь же мы рассмотрим, как это сделать с помощью Shell-скриптов. Читать полностью »
Рубрика «awk»
6 вариантов генерации конфигурационных файлов Shell-скриптами
2024-10-24 в 13:01, admin, рубрики: awk, bash, envsubst, eval, linux, ruvds_статьи, sedКунг-фу стиля Linux: упрощение работы с awk
2020-11-19 в 13:15, admin, рубрики: awk, linux, Блог компании RUVDS.com, Настройка Linux, Разработка под Linux, системное администрированиеУтилита awk
— это нечто вроде швейцарского ножа для обработки текстовых файлов. Но некоторые ограничения awk
порой доставляют неудобства тем, кто этой утилитой пользуется. Я, для того чтобы упростить работу с awk
, создал несколько функций. Но сразу хочу сказать о том, что для работы этих функций нужны возможности GNU-версии awk
. Поэтому для того чтобы воспроизвести то, о чём я буду рассказывать, вам совершенно необходимо использовать gawk
и ничего другого. Возможно, в вашей системе настроено сопоставление /usr/bin/awk
с чем-то, и это «что-то» может представлять собой gawk
. Но это может быть и mawk
, и какая-то другая разновидность awk
. Если вы используете дистрибутив Linux, основанный на Debian, то знайте, что команда update-alternatives
— это ваш хороший друг. В данном материале я буду исходить из предположения о том, что его читатель использует gawk
.
После того, как вы прочитаете эту статью, вы узнаете о том, как пользоваться моей библиотекой дополнительных функций для awk
. А именно, речь идёт о разделении строки на поля даже в условиях, когда не существует единого символа, используемого для разделения полей. Кроме того, вы сможете обращаться к полям, используя выбранные вами имена. Например, вам не придётся помнить о том, что $2
— это поле, содержащее сведения о времени. Вместо этого можно будет просто воспользоваться конструкцией наподобие Fields_fields[«time»]
.
Читать полностью »
13 инструментов для обработки текста в командной оболочке
2020-03-18 в 13:34, admin, рубрики: awk, cat, cut, fold, grep, head, paste, sed, sort, tail, tr, uniq, wc, Блог компании ITSumma, Настройка Linux, Серверное администрирование, системное администрирование, СофтЗдесь представлен фрагмент будущей книги «Основные инструменты и практики для начинающего разработчика программного обеспечения» Бальтазара Рубероля и Этьена Броду. Книга должна помочь образованию подрастающего поколения разработчиков. Она охватит такие темы, как освоение консоли, настройка и эффективная работа в командной оболочке, управление версиями кода с помощью git
, основы SQL, инструменты вроде Make
, jq
и регулярные выражения, основы сетевого взаимодействия, а также лучшие практики разработки программного обеспечения и совместной работы. В настоящее время авторы упорно работают над этим проектом и приглашают всех поучаствовать в списке рассылки.
Содержание
Нетипичный «ls» — Habr Edition
2019-09-12 в 7:55, admin, рубрики: awk, bash, grep, ls, sed, zsh, ненормальное программирование, Оболочки
Всем привет!
После вчерашнего поста о замене штатного ls другими штатными (или не очень) утилитами, я просто не мог пройти мимо комментов, особенно учитывая то что пост взлетел на вершины хит-парадов и за сутки его прочитало 18k, с хвостиком человек. Хабровчане подарили миру много новых способов избавиться от ls. Я их все (но это не точно) проверил, некоторые «причесал», что бы они соответствовали условиям задачи, и хочу поделиться с вами. Наслаждайтесь!Читать полностью »
Парсим 25Tb с помощью AWK и R
2019-06-17 в 12:09, admin, рубрики: awk, big data, R, spark, Блог компании Mail.Ru Group, высокая производительность, никто не читает теги, Облачные вычисления, обработка данныхКак читать эту статью: прошу прощения за то, что текст получился таким длинным и хаотичным. Чтобы сэкономить ваше время, я каждую главу начинаю со вступления «Чему я научился», в котором одним-двумя предложениями излагаю суть главы.
«Просто покажи решение!» Если вы хотите всего лишь увидеть, к чему я пришёл, то переходите к главе «Становлюсь изобретательнее», но я считаю, что интереснее и полезнее почитать про неудачи.
Недавно мне поручили настроить процесс обработки большого объёма исходных последовательностей ДНК (технически это SNP-чип). Нужно было быстро получать данные о заданном генетическом местоположении (которое называется SNP) для последующего моделирования и прочих задач. С помощью R и AWK мне удалось очистить и организовать данные естественным образом, сильно ускорив обработку запросов. Далось мне это нелегко и потребовало многочисленных итераций. Эта статья поможет вам избежать некоторых моих ошибок и продемонстрирует, что же у меня в конце концов получилось.
Читать полностью »
Рождение Software Tools: как и зачем появились GREP и AWK
2017-11-27 в 17:30, admin, рубрики: awk, Brian Kernighan, grep, tools, UNIX, Программирование, системное программирование
Этим летом мне на глаза попалось эссе Брайана Кернигана «Иногда старые способы — лучшие», опубликованное в честь 25-летнего юбилея журнала IEEE Software в 2008 году. В нем профессор Керниган рассказывал о том, какие инструменты он использует в работе.
В тот момент он был занят двумя сложными проектами — один из них подразумевал экспертный анализ проекта на 100 000 строк кода, написанный на C и Assembler в 1990 году, под Windows XP; другой — перенос кода с экзотического языка L1 на не менее экзотический язык L2 при помощи программы, написанной на неназванном скриптовом языке под Linux. Удивительно, но для столь разных задач профессор Керниган вместо IDE использовал один и тот же набор инструментов — grep, diff, sort, awk, wc и прочих «старых знакомых» из эпохи раннего Unix. Более того, многие инструменты и IDE конца прошлого десятилетия он подверг критике за неудобность и несовершенство.
Действительно, к некоторым вещам в своей жизни мы привыкли настолько сильно, что уже воспринимаем их за данность и критиковать их нам даже не приходит в голову — нам кажется, будто они существовали всегда. Подобный образ мышления помогает адаптироваться к потоку новой информации и неизбежен в современном мире, но давайте не будем сегодня отказывать себе в удовольствии «спуститься на уровень ниже», чтобы увидеть, как появилась сама идея программных инструментов (они же далее по тексту — «software tools», утилиты, команды Unix).
Читать полностью »
Bash-скрипты, часть 8: язык обработки данных awk
2017-05-02 в 11:04, admin, рубрики: awk, bash, bash-скрипт, linux, ruvds, Блог компании RUVDS.com, Настройка Linux, обработка текстов, системное администрирование, сценарий командной строкиBash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
В прошлый раз мы говорили о потоковом редакторе sed и рассмотрели немало примеров обработки текста с его помощью. Sed способен решать многие задачи, но есть у него и ограничения. Иногда нужен более совершенный инструмент для обработки данных, нечто вроде языка программирования. Собственно говоря, такой инструмент — awk.
Читать полностью »
Не доверяйте SUDO, она может вас подвести
2017-02-19 в 19:16, admin, рубрики: awk, Git, linux, man, pico, privilege escalation, python, rbash, root-me, rvim, scp, script, ssh, sudo, tar, zip, информационная безопасность, метки: root-me
Всем доброго времени суток, в этой статье постараюсь описать некоторые способы обхода ограничений на исполнение команд в ОС Linux, советы по использованию которых можно часто встретить на различных форумах. Демонстрация будет проведена на примере задания Restricted shells с сайта Root-Me. И так, начнём.Читать полностью »
Занимательная математика командной строки
2016-09-23 в 21:41, admin, рубрики: awk, linux, shell, математикаЕсли вы пользователь Linux, Free/Open BSD или другой свободной ОС, есть вероятность, что интерфейс командной строки вам не чужд. В таком случае можно использовать командную оболочку для простых арифметических действий. Для этого не нужно устанавливать дополнительных программ, все уже есть в базовом наборе операционной системы. Они позволяют качественно заменить привычный калькулятор на столике счетовода.
Парсинг CSV-файла средствами bash и awk
2013-06-28 в 9:37, admin, рубрики: awk, bash, Оболочки, Песочница, метки: awk, bashДоброго времени суток, Хаброчитатель!
Возникла у меня необходимость перевести интерфейс одной системы. Перевод для каждой формы лежит в отдельном XML-файле, а файлы группами разбросаны по папкам, что очень неудобно. Решено было создать единый словарь, чтобы в Excel’е работать с переводом всех форм. Данная задача в свою очередь разбивается на 2 подзадачи: извлечь информацию из всех XML-файлов в один CSV-файл, после перевода из CSV-файла создать XML-файлы с прежней структурой. В качестве инструментов были выбраны bash и awk. Первую подзадачу описывать смысла нет, так как она достаточно тривиальная. А вот как распарсить CSV-файл?
Читать полностью »