Подготовка конфигурационных файлов из шаблонов — весьма распространённая задача системного администрирования. Решать её можно разными способами, каждый из которых хорош по-своему, здесь же мы рассмотрим, как это сделать с помощью Shell-скриптов. Читать полностью »
Рубрика «sed»
6 вариантов генерации конфигурационных файлов Shell-скриптами
2024-10-24 в 13:01, admin, рубрики: awk, bash, envsubst, eval, linux, ruvds_статьи, sed5 современных альтернатив старым инструментам командной строки Linux
2020-06-29 в 10:51, admin, рубрики: bash, grep, htop, jq, man, ncdu, sed, tldr, Блог компании VDSina.ru — хостинг серверов, Настройка Linux, системное администрированиеИспользуя более современные альтернативы наряду со старыми инструментами командной строки, можно получить больше удовольствия и даже повысить производительность труда.
В повседневной работе в Linux / Unix мы используем множество инструментов командной строки — например, du для мониторинга использования диска и системных ресурсов. Некоторые из этих инструментов существуют уже давно. Например, top появился в 1984 году, а первый релиз du датируется 1971 годом.
За прошедшие годы эти инструменты были модернизированы и портированы на разные системы, но в целом далеко не ушли от своих первых версий, их внешний вид и usability также сильно не изменились.
Это отличные инструменты, которые необходимы многим системным администраторам. Однако сообщество разработало альтернативные инструменты, которые предлагают дополнительные преимущества. Некоторые из них просто имеют современный красивый интерфейс, а другие значительно улучшают удобство использования. В этом переводе расскажем о пяти альтернативах стандартным инструментам командной строки Linux.
Читать полностью »
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. Я их все (но это не точно) проверил, некоторые «причесал», что бы они соответствовали условиям задачи, и хочу поделиться с вами. Наслаждайтесь!Читать полностью »
Bash-скрипты, часть 7: sed и обработка текстов
2017-04-28 в 9:55, admin, рубрики: bash, bash-скрипт, linux, sed, Блог компании RUVDS.com, Настройка Linux, обработка текстов, Серверное администрирование, сценарий командной строкиBash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
В прошлый раз мы говорили о функциях в bash-скриптах, в частности, о том, как вызывать их из командной строки. Наша сегодняшняя тема — весьма полезный инструмент для обработки строковых данных — утилита Linux, которая называется sed. Её часто используют для работы с текстами, имеющими вид лог-файлов, конфигурационных и других файлов.
Рекурсивное множественное добавление IP для блокировки в файл .htaccess
2017-02-03 в 12:11, admin, рубрики: bash scripting, find, sed, автоматизация рутины, Серверное администрирование, хостинг, метки: .htaccessЗадача. На web-сервере в домашней папке ~/public_html привычным образом располагаются каталоги различных сайтов. Таким же привычным образом в каждом каталоге сайта располагается файл .htaccess. Известно, что с помощью этого файла, в том числе, ограничивается доступ по IP. В моём случае этот файл выглядит так:
Order Allow,Deny
Allow from all
Deny from 194.87.147.196
Эта запись (блок) встречается в каждом файле .htaccess каждого сайта в папке public_html всего один раз. И если требуется заблокировать доступ ко всем сайтам по IP, например 194.165.16.76 – в каждый файл, после строки «Allow from all» добавляется новая строка:
Deny from 194.165.16.76
Вопрос: что же делать, когда на сервере не 2 и не 3 сайта, а намного больше?
Вот как я попытался решить эту задачу.
Читать полностью »
Превозмогая трудности: Gravity Defied на sed
2016-12-14 в 21:54, admin, рубрики: gravity defied, sed, Занимательные задачки, разработка игр, Регулярные выражения, системное программирование
Итак, эта статья посвящается тем, кто любит решать нестандартные задачи на не предназначенных для этого инструментах. Здесь я опишу основные проблемы, с которыми столкнулся во время создания аналога игры Gravity defied с использованием потокового текстового редактора (sed).
Читать полностью »
Осталась неделя до отпуска. Чтоб ничего не сломать занимаюсь всякой фигнёй.
Помните детсадовскую задачку «Сколько будет два плюс два умножить на два?»
Решил это выяснить на sed:
$ sed -f ./1.sed
2+2*2
;2+;2*;2
::+::*::
::+::*:
::+::;::*
::+::::
::::::
6
s/[0-9]/;&/gp
s/0//g; s/1/:/g; s/2/::/g; s/3/:::/g; s/4/::::/g; s/5/:::::/g; s/6/::::::/g; s/7/:::::::/g; s/8/::::::::/g; s/9/:::::::::/g
: ;; s/:;/;::::::::::/gp; t ;
s/;//gp
s/*:/*/gp
: *;
s/(:*)*:/1;1*/gp;
t *
s/*//g
s/;//gp
s/+//gp
: -; s/:-:/-/gp; t -
s/-$//gp
: ?
s/::::::::::/;/gp
s/;([0-9]*)$/;01/p
s/:::::::::/9/; s/::::::::/8/; s/:::::::/7/; s/::::::/6/; s/:::::/5/; s/::::/4/; s/:::/3/; s/::/2/; s/:/1/
s/;/:/gp
t ?
s/^$/0/
Интерпретатор Lisp на GNU-sed
2014-06-28 в 21:29, admin, рубрики: linux, sed, ненормальное программирование, метки: sed, ЛиспИнтерпретатор Lisp на python в одну строчку? Слишком скучно.
Японский программист, инженер Google Shinichiro Hamaji написал его на sed. Sed — потоковый текстовый редактор, представляющий из себя простой язык программирования. В нем нет переменных, есть только примитив GOTO и выполняющие ветвление функциональные возможности; тем не менее он обладает полнотой по Тьюрингу.
Реализация занимает всего 600 строчек.
Выглядит это примерно так:
Читать полностью »
Шахматы на чистом sed
2013-08-22 в 9:45, admin, рубрики: bash, sed, ненормальное, ненормальное программирование, шахматы, метки: bash, sed, ненормальное, шахматыВ Линуксе и многих других системах существует утилита командной строки sed («сед») — это несложный редактор, которые преобразует текст, попадающий ему на вход при помощи несложных команд.
Его, в основном, используют для всяких мелких нужд в bash-скриптах — заменить одну строку на другую, что-то удалить и так далее. Если говорить терминами более привычных языков, в «седе» доступны две строковые переменные, в одной из которых можно что-нибудь проверять, заменять, а со второй только обмениваться данными из первой, метки, команды переходов на метки и группировка команд, плюс ещё несколько менее полезных.
Вот на этом безобразии я решился написать шахматы, причём такие, чтобы можно было бы играть с компьютером.
Читать полностью »