Регулярные выражения в Vim и утилите sed позволяют за секунды отредактировать многотысячный файл. Ниже — подборка полезных однострочников для повседневных задач.
1️⃣ Изменение регистра букв
🔴 Первую букву в каждой строке сделать заглавной:
Vim:
:%s/^\w/\u&/gsed:
sed -i 's/^\w/\u&/g' file.txt🔴 Первую букву каждого слова сделать заглавной:
Vim:
:%s/\<\w/\u&/gsed:
sed -Ei 's/\b[a-z]/\U&/g' file.txtКак это работает: спецсимвол
\u переводит следующий символ в верхний регистр, \U переводит все последующие символы, а & обозначает найденное совпадение.2️⃣ Очистка текста от мусора
🔴 Удалить все пустые строки (включая строки с пробелами и табуляцией):
Vim:
:g/^\s*$/dsed:
sed -i '/^\s*$/d' file.txt🔴 Удалить все строки-комментарии (начинающиеся с #):
Vim:
:g/^\s*#/dsed:
sed -i '/^\s*#/d' file.txt(Команда
:g/.../d в Vim полностью удаляет совпадающую строку, а не просто очищает её содержимое).3️⃣ Форматирование отступов и пробелов
🔴 Заменить 4 пробела на один знак табуляции (
\t):Vim:
:%s/ /\t/gsed:
sed -i 's/ /\t/g' file.txt🔴 Удалить концевые пробелы (Trailing spaces) в конце строк:
Vim:
:%s/\s\+$//esed:
sed -i 's/[ \t]*$//' file.txt⚠️ Заметка по ключу sed -i:
Флаг
-i перезаписывает файл «на месте». На macOS (BSD sed) команда потребует указать пустые кавычки для резервной копии: sed -i '' 's/.../.../' file.txt. Если хотите подстраховаться, используйте sed -i.bak, чтобы автоматически создать бэкап файла перед изменением.