🛠 Полезные команды Linux для работы с текстом
Сохрани в закладки 📌 — часто нужные, но легко забываются.
🔹 Просмотр содержимого и базовые операции
cat -n file1
# вывод с нумерацией строк
cat example.txt | awk 'NR%2==1'
# вывод только нечётных строк
echo a b c | awk '{print $1,$3}'
# вывод 1-й и 3-й колонки (разделение по пробелам)
echo a b c | awk '{print $1}'
# вывод только первой колонки
🔹 Сравнение файлов
comm -3 file1 file2
# только отличающиеся строки
comm -1 file1 file2
# без строк из file1
comm -2 file1 file2
# без строк из file2
sdiff file1 file2
# построчное сравнение с выводом отличий
🔹 Поиск по содержимому с grep
grep [0-9] /var/log/messages
# строки с цифрами
grep ^Aug /var/log/messages
# строки, начинающиеся с "Aug"
grep Aug /var/log/messages
# строки, содержащие "Aug"
grep Aug -R /var/log/*
# рекурсивный поиск "Aug" во всех логах
🔹 Объединение файлов с paste
paste -d '+' file1 file2
# объединение с разделителем "+"
paste file1 file2
# объединение построчно в виде таблицы
🔹 Работа с sed
sed 's/string1/string2/g' example.txt
# замена string1 на string2
sed '/ *#/d; /^$/d' example.txt
# удаление комментариев и пустых строк
sed -e '1d' example.txt
# удалить первую строку
sed -n '/string1/p'
# вывести строки с string1
sed -e 's/ *$//' example.txt
# удалить пробелы в конце строк
sed -n '5p;5q' example.txt
# вывести только 5-ю строку
sed -n '2,5p' example.txt
# строки со 2 по 5
sed -e 's/00*/0/g' example.txt
# заменить несколько нулей на один
🔹 Уникальность и сортировка
sort file1 file2
# отсортировать содержимое
sort file1 file2 | uniq
# исключить повторы
sort file1 file2 | uniq -u
# только уникальные строки
sort file1 file2 | uniq -d
# только дублирующиеся строки
🔹 Трансформация регистра
echo 'word' | tr '[:lower:]' '[:upper:]'
# нижний -> верхний регистр
💡 Эти команды — must-have для любого Linux-админа.
@sysadmin1