Работа с текстом
Общие команды
more - первоначальная утилита для просмотра текста постранично
less - более продвинутая утилита, которая позволяет перемещаться по тексту не только вперед, но и назад
head - показывает первые 10 линий текстового файла
tail - показывает последние 10 линий текстового файла
-n <число> - показывает заданное число строк в начале для head или в конце для tail
head и tail можно скомбинировать:
tail -f - показывать в режиме реального времени изменения в файле
наиболее часто используется при работе с логами, например tail -f /var/log/messages
cat - отображает содержимое файла на экран
cat -A - показать все непечатные символы
cat -b - показать с нумерацией линий
cat -s - не показывать пустые повторяющиеся строки
tac - аналог cat, но отображает текст в обратном порядке
cut - фильтрация вывода
sort - сортировка вывода
tr - транслитерация вывода
Grep
Generic Regular Expression Parser
Утилита для поиска текста в файлах или выводе
ps aux | grep ssh - поиск в выводе ssh
grep linda * - поиск файлов в текущей директории с текстом linda
grep -i linda * - поиск без учета регистра
grep -A5 linda /etc/passwd - отображение строк после искомого слова (число отвечает за количество пропускаемых строк для отображения)
grep -B5 linda /etc/passwd - отображение строк перед искомым словом
grep -R root /etc - рекурсивный поиск
grep -l - отображение имен файлов
Регулярные выражения
Регулярные выражения есть текстовые паттерны, используемые различными утилитами, такими как grep, vim, awk, sed
Регулярные выражения не есть глоббинг, так как применяются не к именам, а к содержимому файлов
Регулярные выражения могут иметь расширенный режим (extended)
egrep вместо grep с флагом "-e"
Документация хранится в man 7 regex
Регулярные выражения основаны на атомах, которые определяют текст для поиска соответствия
Атомы могут быть в виде одного символа, дипазона символов или точки
Атомы могут быть классом, например [[:alpha:]], [[:upper:]], [[:digit:]], [[:alnum:]]
Оператор повтора (repetition operator) определяет как часто встречается символ
Индикатор определяет, где найти следующий символ
Выражения должны быть выделены кавычками
Наиболее распространенные выражения:
"^" - начало строки
"$" - конец строки
"\<" - начало слова
"\>" - конец слова
"*" - ноль или более раз
"+" - один или более раз
"?" - ноль или один раз
"{n}" - точное n количество раз
Awk
Продвинутая утилита для текстового процессинга, которая специализируется на извлечении данных и отчетах
Может производить действия на основе селекторов
Sed
Stream Editor
Используется для поиска и изменения текста на основе совпадений
Показать, например, четвертую строку файла:
Пример замены текста ("-i" - записать в файл):
Удаление строки ("-e" - редактировать):
Last updated
Was this helpful?