💡 Быстрый поиск и замена в куче файлов
Нужно массово заменить строку в сотне конфигов? Вот скрипт:
Как это работает:
🔥 Очень удобно для правки конфигов и скриптов пачками.
👉@bash_srv
Нужно массово заменить строку в сотне конфигов? Вот скрипт:
#!/bin/bash
# автор: https://t.me/bash_srv
# Директория для поиска
DIR="/etc/nginx"
# Что ищем
SEARCH="server_name old.example.com"
# На что меняем
REPLACE="server_name new.example.com"
# Ищем и заменяем
grep -rl "$SEARCH" "$DIR" | xargs sed -i "s|$SEARCH|$REPLACE|g"
echo "✅ Замена '$SEARCH' на '$REPLACE' выполнена в $DIR"
Как это работает:
grep -rl
— ищет файлы с нужной строкойxargs sed -i
— делает замену прямо в них🔥 Очень удобно для правки конфигов и скриптов пачками.
👉@bash_srv
👍10
🔍 10 полезных регулярных выражений для админов
Регулярки — мощный инструмент для поиска и обработки текста в Linux.
💡Тестируйте регулярки в реальном времени с
👉@bash_srv
Регулярки — мощный инструмент для поиска и обработки текста в Linux.
# 1. Найти все IP-адреса в файле
grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' file.log
# 2. Найти строки с email-адресами
grep -E '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' file.txt
# 3. Удалить пустые строки
sed -i '/^$/d' file.txt
# 4. Найти строки, начинающиеся с #
grep -E '^#' file.conf
# 5. Найти строки, не содержащие слово ERROR
grep -Ev 'ERROR' file.log
# 6. Заменить все цифры на символ *
sed -E 's/[0-9]/*/g' file.txt
# 7. Удалить комментарии и пустые строки
grep -Ev '^\s*#|^\s*$' file.conf
# 8. Найти все URL
grep -Eo 'https?://[^ ]+' file.txt
# 9. Найти строки длиной больше 100 символов
grep -E '.{100,}' file.txt
# 10. Извлечь доменные имена из email
grep -Eo '@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' file.txt
💡Тестируйте регулярки в реальном времени с
grep -E
или онлайн-сервисами типа regex101.com.👉@bash_srv
👍14