find, grep, sed — пошук та обробка тексту

find, grep, sed — пошук та обробка тексту

Изображение записи по умолчанию
0

find, grep, sed — поиск и обработка текста

find — поиск файлов

# Найти файл по имени
find / -name "*.conf"

# Найти по типу (f=файл, d=директория)
find /etc -type f -name "*.conf"

# Найти изменённые за последние 24 часа
find /var/log -mtime -1

# Найти файлы больше 100MB
find / -size +100M

# Найти и удалить
find /tmp -name "*.tmp" -exec rm {} \;

# Найти по правам
find / -perm -4000   # SUID-файлы

grep — поиск текста

# Найти строку в файле
grep "error" /var/log/syslog

# Рекурсивно в директории
grep -r "Listen" /etc/apache2/

# Без учёта регистра
grep -i "ERROR" /var/log/syslog

# Показать номера строк
grep -n "error" file.txt

# Инвертировать (строки БЕЗ слова)
grep -v "error" file.txt

# Регулярные выражения
grep -E "^Error|Failed" /var/log/syslog

sed — потоковый редактор

# Заменить текст
sed "s/old/new/" file.txt

# Заменить глобально (все вхождения)
sed "s/old/new/g" file.txt

# Заменить в файле (in-place)
sed -i "s/old/new/g" file.txt

# Удалить строки с словом
sed "/error/d" file.txt

# Показать строки 5-10
sed -n "5,10p" file.txt

Практическое задание

  1. Найдите все .conf файлы в /etc: find /etc -name "*.conf" | wc -l
  2. Найдите слово «root» в /etc/passwd: grep "root" /etc/passwd
  3. Замените слово в файле: echo "hello world" | sed "s/hello/privet/"

Comments

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Related Post