Системный Администратор | Sysadmin Windows & Linux Server. Настройка Сети, ПК и Железа. IT Уроки для Сисадмина: Безопасность, Софт и Техподдержка (Helpdesk). Компьютерная помощь.
@i_odmin
Фото 📌 Какая разница между командами GREP, AWK и SED Команды grep, awk и sed – это мощные утилиты в Unix/Linux, которые используются для обработки и манипуляции текстом. Они имеют разные цели, хотя в некоторых случаях их можно использовать взаимозаменяемо. 1. grep – Поиск строк - Используется для поиска строк, соответствующих заданному шаблону (обычно регулярному выражению). - Выводит найденные строки или их части. - Основная задача – фильтрация текста. Примеры: grep "error" log.txt # Найти строки, содержащие "error" grep -i "warning" log.txt # Игнорировать регистр grep -E "fail|error" log.txt # Использовать расширенные регулярные выражения (ERE) grep -v "INFO" log.txt # Исключить строки, содержащие "INFO" 2. sed – Потоковый редактор - Позволяет заменять, удалять, изменять текст на основе шаблонов. - Работает построчно, но может также обрабатывать многострочные паттерны. - Может использоваться для быстрого редактирования файлов. Примеры: sed 's/apple/orange/' file.txt # Заменить первое вхождение "apple" на "orange" в каждой строке sed 's/error/ERROR/g' file.txt # Заменить все вхождения "error" на "ERROR" sed '/DEBUG/d' file.txt # Удалить строки, содержащие "DEBUG" sed -i 's/foo/bar/g' file.txt # Редактировать файл на месте (без создания копии) 3. awk – Анализ и обработка текста - Используется для извлечения данных, обработки полей, манипуляции с текстом. - Работает как мини-программа: может выполнять арифметические операции, фильтрацию и форматирование. - Использует колонки (разделенные пробелами или другими разделителями) для обработки данных. Примеры: awk '{print $1, $3}' file.txt # Вывести 1-й и 3-й столбцы awk -F ":" '{print $1}' /etc/passwd # Вывести имена пользователей (разделитель - двоеточие) awk '$3 > 50 {print $1, $3}' file.txt # Вывести строки, где 3-й столбец > 50 awk '{sum+=$3} END {print "Sum:", sum}' file.txt # Подсчитать сумму 3-го столбца Основные отличия между grep, sed и awk grep: основное назначение - поиск строк по шаблону grep: что делает лучше всего? - фильтрация строк по регулярным выражениям sed: основное назначение - поиск и замена текста sed: что делает лучше всего? - удаление, вставка строк в файле awk: основное назначение - работа с колонками и данными awk: что делает лучше всего? - анализ данных, извлечение полей, обработка значений Когда использовать? - Нужно просто найти строку в файле? → grep - Нужно заменить или удалить текст? → sed - Нужно обработать данные, работать с колонками? → awk Каждая из этих утилит может быть использована совместно для более сложных задач, например: grep "error" log.txt | awk '{print $2, $5}' | sed 's/:/-/' (Ищем ошибки, берем 2-й и 5-й столбцы, заменяем : на `-`) 👉 @i_odmin
Если у вас установлено приложение,
вы можете сразу перейти в канал