ТЕКСТОВЫЙ РЕДАКТОР 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 нет.

  1. Многоуровневая отмена
    vim может запомнить до 1000 (одной тысячи) действий. Где vi поддерживает только одноуровневую отмену.
  2. Многооконный
    vim также поддерживает многооконный режим и может быть разделен по вертикали (с помощью параметра -O) или по горизонтали (с помощью параметра -o).
  3. Открыть с помощью вкладок, по одной вкладке для каждого файла
    Я протестировал это с -p, достаточным для запуска редактора с несколькими файлами на нескольких вкладках в одной команде.
  4. Гибкий режим вставки
    в vi вы не можете свободно перемещаться, поэтому вам нужно нажать esc, затем переместить и снова нажать кнопку i для редактирования.
  5. Горизонтальная и вертикальная прокрутка
    Нет, это тоже самая полезная функция по сравнению с 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 >