👁 Иногда нужно быстро изменить текст в файле или вывод команды прямо в командной строке. Утилита sed идеально подходит для этого, особенно когда нужно делать замену по регулярному выражению. Мы рассмотрим пример, как это можно сделать за пару строк.
📝 Пример кода:
#!/bin/bash # Пример: заменяем все вхождения слова "error" на "warning" в файле логов sed -i 's/error/warning/g' /var/log/myapp.log # Пример: удаляем все пустые строки в файле sed -i '/^$/d' /var/log/myapp.log # Пример: извлекаем все строки, содержащие "error", и сохраняем в новый файл sed -n '/error/p' /var/log/myapp.log > errors.log
📌 Как это работает:
sed -i 's/error/warning/g': Заменяет все вхождения слова «error» на «warning» в файле/var/log/myapp.log. Флаг-iиспользуется для изменения файла на месте.sed -i '/^$/d': Удаляет все пустые строки в файле.sed -n '/error/p': Извлекает все строки, содержащие «error», и записывает их в новый файлerrors.log. Опция-nподавляет вывод всех строк, аpвыводит только те, что подходят под паттерн.
❗️ Не забудьте всегда проверять результат на тестовом файле, чтобы избежать потери данных. Если используете флаг -i, изменения будут сделаны непосредственно в файле.
tags: #bash #linux #полезно
❤️ @recura_tech



