6 Работа с текстом vim, grep, sed, less more, man
6 Работа с текстом: vim, grep, sed, less/more, man¶
Vim
Vim - мощный (и крайне неудобный) текстовый редактор
(Ubuntu) sudo apt install vim
/ sudo pacman -S vim
(Arch) - установка
vim
- открыть редактор
vim file.txt
- открыть конкретный файл
У Vim`a есть несколько режимов работы (очень удобно и не запутаешься)
Нормальный - запускается по умолчанию, Командный - для ввода различных команд, Вставка - для манипуляций с текстом, Визуальный - для навигации по документу
Основные команды и горячие клавиши:
Выйти с сохранением:
:wq
Выйти без сохранения:
:q!
Режим работы (вставка):
i - вставка перед курсором
a - вставка после курсора
Перемещение (визуальный):
h - влево
j - вниз
k - вверх
l - вправо
gg - в начало файла
G - в конец файла
0 - в начало строки
$ - в конец строки
(впринципе, всё очень логично и понятно, верно?)
Grep
Grep - утилита для поиска шаблонов в файлах
grep “pattern” filename
- общий вид конструкций поиска
Примеры и ключи:
grep “pattern” *
- ищет строки с шаблоном во всех файлах текущей директории
grep -r “pattern” .
- рекурсивно ищет строки с шаблоном во всех файлах и поддерикториях текущей директории
grep -i “pattern” test.txt
- ищет строки с шаблоном игнорируя регистр
grep -n “pattern” test.txt
- покажет строки, содержащие шаблон, вместе с номерами строк
grep -w “pattern” test.txt
- ищет строки, которые содержат точное совпадение шаблона
grep -v “pattern” test.txt
- ищет строки, которые не содержат шаблон
Sed
Sed - утилита для обработки текстовых данных
sed ‘s/old_text/new_text/’ file.txt
- заменяет первое вхождение old_text
на new_text
в каждой строке
sed ‘s/old_text/new_text/g’ file.txt
- заменяет все вхождения old_text
на new_text
в каждой строке
sed ‘s/old_text/new_text/I’ file.txt
- заменяет все вхождения old_text
на new_text
, игнорируя регистр
sed ‘3d’ file.txt
- удаляет третью строку из файла file.txt
sed ‘/pattern/d’ file.txt
- удаляет все строки с шаблоном из файла file.txt
sed ‘3i\New line’ file.txt
- добавляет строку New line
перед третьей строки в файл file.txt
sed ‘3a\New line’ file.txt
- добавляет строку New line
после третьей строки в файл file.txt
Less/More
more позволяет просматривать содержимое файла постранично
more file.txt
- открытие файла
Основные клавиши управления:
- space - пролистать на одну страницу вниз
- enter - пролистать на одну страницу вверх
- b - пролистать на одну строку вверх
- q - выйти из просмотра
- /pattern - найти шаблон
- n - переход к следующему вхождению шаблона
less является более крутой версией more
less file.txt
- открытие файла
Основные клавиши управления:
- space - пролистать на одну страницу вниз
- enter - пролистать на одну страницу вверх
- b - пролистать на одну строку вверх
- u - пролистать на полстраницы вверх
- d - пролистать на полстраницы вниз
- g - перейти в начало файла
- G - перейти в конец файла
- q - выйти из просмотра
- /pattern - найти строки с шаблоном
- n - перейти к следующему вхождению текста
- N - перейти в предыдущему вхождению текста
- ?pattern - искать строки с шаблонами в обратном порядке
- %pattern - показать только строки с шаблоном
- F - следить за изменениями в файле
Man
Man - команда для вызова мануала для команды
Пример: man ls
- справка команды ls