ТЕКСТОВЫЙ РЕДАКТОР LINUX, SED
КОРОТКОЕ ВВЕДЕНИЕ
ЧТО ТАКОЕ ТЕКСТОВЫЙ РЕДАКТОР?
Текстовый редактор — это платформа, которую мы в основном используем для редактирования любого текстового файла в целях написания сценариев или кодирования. Вы слышали о: Блокнот, Блокнот++ или Квадратные скобки, верно? Нет, это примеры текстового редактора.
В Linux есть инструменты по умолчанию, созданные самой ОС (но это зависит от того, какая ОС). Они есть:
Column 1: List of Text Editor in Linux. 1. vi - VIsual Editor 2. vim - VIsual IMproved (Advanced vers. of vi) 3. ed - Standard Line Editor 4. ex - Extended Line Editor 5. emacs - Full Screen Editor 6. pico - Beginner's Editor
В этой статье я просто практикуюсь в использовании vi
, что в основном равно vim
. Почему? Потому что у них есть функция, которую мы хотим, и они чаще всего используются в системном администрировании.
ПОЧЕМУ МЫ НЕ ИСПОЛЬЗУЕМ ДРУГОЙ РЕДАКТОР ПРИЛОЖЕНИЙ?
Причина проста: мы хотим, чтобы наш компьютер с Linux работал быстро и стабильно.
КОМАНДА СЭД
В Linux есть еще одна команда, которая поможет вам редактировать текст внутри файла, не открывая его.
ВИ против ВИМ
vi
В большинстве последних систем Linux или Unix запуск vi
также приведет нас к vim
. Вы можете увидеть мой снимок экрана ниже, когда я проверяю версию своего vi
на своей виртуальной машине, на которой работает CentOS Stream 8, он показывает vim
вместо vi
.
РАЗЛИЧИЯ
vi
был разработан как часть стандарта POSIX, а vim
— нет, хотя vim
совместим с vi
. Итак, вот функции, которые есть у vim
, а у vi
нет.
- Многоуровневая отмена
vim
может запомнить до 1000 (одной тысячи) действий. Гдеvi
поддерживает только одноуровневую отмену. - Многооконный
vim
также поддерживает многооконный режим и может быть разделен по вертикали (с помощью параметра-O
) или по горизонтали (с помощью параметра-o
). - Открыть с помощью вкладок, по одной вкладке для каждого файла
Я протестировал это с-p
, достаточным для запуска редактора с несколькими файлами на нескольких вкладках в одной команде. - Гибкий режим вставки
вvi
вы не можете свободно перемещаться, поэтому вам нужно нажатьesc
, затем переместить и снова нажать кнопкуi
для редактирования. - Горизонтальная и вертикальная прокрутка
Нет, это тоже самая полезная функция по сравнению сvi
, поэтомуvim
такая мощная.
И так далее, вы можете прочитать эту статью, если хотите узнать больше о преимуществах vim
по сравнению с vi
. Проще говоря, вот основные отличия:
VIM
БЕСПЛАТНОЕ ОБУЧЕНИЕ
Поскольку vim
важен для таких системных администраторов, как мы, я нашел бесплатное обучение работе с vim очень полезным. Я предлагаю вам попробовать это тоже:
КОМАНДА СЭД
Эта команда удивительна. Не открывая текстовый редактор, такой как vim
, вы можете сделать следующее:
Вот несколько примеров команды sed
:
Column 2: Examples of SED command. sed 's/word before/word after/g' [filename] //It will substitute (s) word before with word after globally (g), but only for the output and not saved in the file itself sed -i 's/word before/word after/g' [filename] //It will substitute (s) word before with word after globally (g) with the change saved in file. If you want to create a backup, behind option -i add the suffix. like -i[0], it will create new file as the backup sed '/word to filter/d' [filename] //It will remove every lines where word to filter resides, and only showing where word to filter is not present sed '/^$/d' [filename] //SED also capable on running regex (regular expression), so with this command, SED will remove every line with empty text sed '1,2d' [filename] //SED will remove first two lines sed 's/\t/ /g' [filename] //This will remove all tab character in [filename], and replace it with space. As I mentioned before that, sed capable on reading regex and \t is a regex format. sed -n 12,18p [filename] //It only will show line from 12 to 18. Because -n is an option to choose which line we want the system to show sed 12,18d [filename] //It is reversed output from above. It only will show everything, except line 12 to 18 sed 'N!s/word before/word after/g' //It will replace all word before with word after except line number N.
Кроме того, в vim
вы также можете сделать замену. Например, запуск :%s/word before/word after/
заменит все слова до на слова после в файле.
ВЫВОДЫ
Я никогда не думал, что редактировать текст и файлы в Linux будет легко, но… Это действительно зависит от файла и от того, что мы хотим заменить. Так что я буду продолжать и продолжать погружаться в Linux! До встречи в моей следующей статье!
Read more of my stories Here! < My Previous Blog My Next Blog >