SlideShare a Scribd company logo
1 of 64
ТЕМА 4 ЗАНЯТИЕ
1
РАБОТА С ТЕКСТОМ
Учебные вопросы
• 1. Обзор текстовых редакторов.
• 2. Утилиты обработки файлов
• 3. Утилиты для работы с текстом.
Введение
Безусловно, компьютеры посвящены редактированию
данных, манипулированию данными и управлению
данными. В системах Linux такие данные часто имеют
формат текстовых файлов. Иногда эти текстовые файлы
создаются без сторонних приложений, но бывает такое, что
вам понадобиться их отредактировать, тогда на Linux вы
будете использовать то, что называется текстовый
редактор.
В этой теме мы рассмотрим некоторые из популярных
текстовых редакторов, такие как nano, а также изучим шаг
за шагом путем использования и настройки текстовой
редактор vim.
По окончанию этой темы, вам будет удобно редактировать
свои текстовые файлы на любимом текстовом редакторе.
Учебные цели
По окончанию занятия, вы познакомитесь с:
• Созданием и редактированием файлов с помощью доступных
текстовых редакторов Linux.
• Простым текстовым редактором nano.
• Простым графическим текстовым редактором gedit.
• Двумя продвинутыми редакторами с текстовым и
графическим интерфейсом vi.
 Отображать содержимое файла и добавлять
содержимое к файлу с помощью cat и echo.
 Редактировать и распечатывать содержимое файлов,
используя команды set и awk.
 Производить поиск по шаблону с помощью grep.
Использовать множество других утилит для обработки
файла и текста
Обзор текстовых редакторов в Linux
Дистрибутивы Linux упаковываны различными
приложениями по выбору пользователя; когда дело доходит
до текстовых редакторов, есть много вариантов, начиная от
довольно простых до весьма сложных, в том числе:
• nano
• gedit
• vi
• emacs
В этом вопросе, мы будем изучать nano и gedit; редакторы,
которые относительно просты и легки в обучении. Прежде
чем мы начнем, давайте взглянем на некоторые случаи,
когда редактор не нужен.
Создание Файлов Без Использования
Редактора
Иногда вам может потребоваться создать небольшой файл без
использования полноценного текстового редактора. Кроме
того, это может быть весьма полезным при использовании в
скриптах, даже при создании больших файлов. Вы несомненно
столкнетесь с этим, когда начнете изучать последующие темы,
охватывающие написание bash-сценариев (bash-скриптов).
Если вы хотите создать файл без использования редактора, то
существует два способа создать файл из командной строки и
заполнить его содержимым.
Первый способ – это использовать несколько раз команду
echo:
$ echo line one > myfile
$ echo line two >> myfile
$ echo line three >> myfile
Создание Файлов Без Использования
Редактора
Ранее мы узнали, что один символ «больше чем» (>)
отправляет вывод команды в файл. Два символа «больше чем»
(>>) добавляют новый вывод в существующий файл.
Второй способ – это использовать команду cat в сочетании с
перенаправлением:
$ cat << EOF > myfile
> line one
> line two
> line three
> EOF
$
Создание Файлов Без Использования
Редактора
Обе техники, описанные выше, производят файл со
следующими строками в нем:
line one
line two
line three
и являются чрезвычайно полезными при написании скриптов.
Создание Файлов Без Использования
Редактора
Вопрос 1: Обзор текстовых редакторов
• Введение в vi
• Vimtutor
• Режимы в vi
• Работа с Файлами в vi
• Изменение Позиций Курсора в vi
• Использование Режимов и Перемещения курсора в vi
• Поиск Текста в vi
• Работа с Текстом в vi
• Использование Внешних Команд, Сохранение и Закрытие в
Редакторе vi
• Использование Внешних Команд
vi и emacs
Разработчики и администраторы с опытом работы на Unix-
подобных системах почти всегда используют один из двух
способов редактирования: vi и emasc. Оба редактора
присутствуют или легко доступны во всех дистрибутивах и
являются полностью совместимыми с доступными версиями
для других операционных систем.
vi
vi имеют исключительно основную текстовую форму,
которая может быть запущена в неграфическом окружении.
Эти редакторы также имеют один или более X-графические
формы с расширенными возможностями; они могут быть
более дружелюбными для менее опытных пользователей.
Хотя vi могут иметь существенный обрыв кривой
обучаемости для новых пользователей, они являются
чрезвычайно эффективными при умении их использовать.
Вы должны знать, что поединки среди опытных
пользователей над тем, какой редактор лучше, могут быть
достаточно интенсивными и часто описываются, как
священная война.
Введение в vi
Обычно фактической программой, установленной в системе,
является vim, которая означает vi Improved (Продвинутый
vi) и является псевдонимом для имени vi. Название
произносится как «ви-ай».
Даже если вы не хотите использовать редактор vi,
познакомиться с ним лишним не будет: он является
стандартным инструментом, который установлен
практически на всех дистрибутивах Linux. Более того,
возможны случаи, когда в системе нет другого доступного
редактора.
GNOME расширяет vi графическим интерфейсом,
известного как gvim, а KDE предлагает kvim. Любой из них
может быть проще в использовании на первый взгляд.
При использовании vi, все команды вводятся посредством
клавиатуры; нет нужды постоянно двигать руки для
использования устройства указателя, такие как мышь или
тачпад.
Введение в vi
vimtutor
Команда vimtutor запускает краткую, но очень емкую
обучающую программу для тех, кто хочет
познакомиться с первыми командами vi.
Эта программа является хорошим местом для начала
изучения vi.
Хотя обучающая программа предоставляет только
введение и семь уроков, она имеет достаточно
материала, чтобы сделать из вас опытного
пользователя vi, потому что она охватывает большое
количество команд.
Изучив основные команды, можно посмотреть новые
возможности для включения их в свой список команд
vi, потому что всегда существуют более оптимальные
способы сделать вещи в vi без лишнего ввода с
клавиатуры.
vimtutor
Режимы в vi
vi предоставляет три режима, описанные ниже в
таблице.
Важно не потерять из виду, в каком режиме вы
находитесь.
Множество клавиш и команд ведут себя совершенно
по-разному в разных режимах.
Режимы в vi
Режим Функция
Команд
ный
 По умолчанию, vi запускается в Командном режиме
 Каждая клавиша – это команда редактора
 Нажатие клавиш интерпретируется как команды, которые могут
изменить содержимое файла
Вставки
 Введите i для перехода в режим Вставки (Insert) из Командного
режима
 Режим Вставки используется для ввода (вставки) текста в файл
 Режим Вставки отображается индикатором «-- INSERT --» в нижней
части экрана
 Введите Esc для выхода из режима Вставки и возвращения в
Командный режим
Команд
ной
строки
 Введите : для перехода в режим Командной строки из Командного
режима. Каждая клавиша является внешней командой, включая
такие операции, как запись содержимого файла на диск или выход
 Использование команд редактирования строки унаследовано от
старых редакторов строки. Большинство из этих команд фактически
больше не используются. Некоторые команды редактирования строки
являются очень мощными
 Введите Esc для выхода из режима Командной строки и возвращение
в Командный режим
Работа с Файлами в vi
В таблице описаны наиболее важные команды,
используемые для запуска файлов, выхода из них, а
также для чтения и записи в файлы в vi.
Клавишу ENTER необходимо нажимать после всех этих
команд.
Работа с Файлами в vi
Команда Применение
vi myfile Запуск редактора vi и редактирование файла myfile
vi -r myfile Запуск vi и редактирование myfile в режиме
восстановления после системного сбоя
:r file2 Прочитать в file2 и вставить в текущую позицию
:w Записать в файл
:w myfile Записать из файла в файл myfile
:w! file2 Перезаписать file2
:x или :wq Выйти из vi и записать измененный файл
:q Выход из vi
:q! Выход из vi даже если не сохранены изменения
Изменение Позиций Курсора в vi
В таблице описаны наиболее важные нажатия клавиш,
используемые для изменения позиции курсора в vi.
Команды в режиме Командной строки (следуемые
после двоеточия (:) ) требуют нажатие клавиши ENTER
после ввода этих команд.
Изменение Позиций Курсора в vi
Клавиша Применение
Клавиши со стрелками Перемещение вверх, вниз, влево и вправо
j или Enter Перемещение на одну строку вниз
k Перемещение на одну строку вверх
h или Backspace Перемещение на один символ влево
l или Пробел Перемещение на один символ вправо
0 Перемещение в начало строки
$ Перемещение в конец строки
w Перемещение в начало следующего слова
:0 или 1G Перемещение в начало файла
:n или nG Перемещение к строке n
:$ или G Перемещение к последней строке в файле
CTRL-F или Page Down Перемещение вперед на одну страницу
CTRL-B или Page Up Перемещение назад на одну страницу
CTRL-L Обновление и центрирование экрана
Использование Режимов и Перемещения
курсора в vi
Давайте начнем практическое изучение использование
режимов и перемещения курсора в vi:
1. Откройте vi, введя в командную строку vi test1.
Vi откроется в Командном режиме
2. Введите i для перехода в режим Вставки
Режим Вставки vi отобразится на экране.
3. Напечатайте следующие предложения:
The quick brown fox jumped over the lazy dog.
Nobody expects the Spanish Inquisition!
4. Для выхода из режима Вставки и перехода в Командный
режим, нажмите Esc.
5. Чтобы выйти из редактора и сохранить файл, введите
:wq и нажмите Enter.
Использование Режимов и Перемещения
курсора в vi
6. Откройте недавно сохраненный файл и переместите
курсор на букву k в слове quick в первом предложении.
Чтобы переместить курсор на четыре символа влево,
нажмите h четыре раза.
Курсор переместиться на букву q слова quick.
7. Чтобы переместить курсор на следующую строку,
введите j.
8. Чтобы переместить курсор в начало следующего слова,
введите w.
Курсор переместиться в начало слова expects.
9. Чтобы переместить курсор в конец предложения,
введите $.
Курсор переместиться в конец второго предложения.
Использование Режимов и Перемещения
курсора в vi
10. Введите i для перехода в режим Вставки.
Отобразится режим Вставки
11. Чтобы вставить текст в конец второго предложения,
введите A History.
Слово History отобразится в конце предложения.
12. Чтобы выйти из режима Вставки и перейти в
Командный режим, нажмите ESC.
13. Чтобы выйти из vi и сохранить файл, введите :wq и
нажмите Enter.
Поиск Текста в vi
В таблице описаны наиболее важные команды,
используемые при поиске текста в vi. Клавиша Enter
должна быть нажата после ввода шаблона поиска.
Команда Применение
/шаблон Поиск шаблона вперед
?шаблон Поиск шаблона назад
В таблице описаны наиболее важные сочетания клавиш,
используемые при поиске текста в vi.
Клавиша Применение
n Переход к следующему вхождению шаблона
поиска
N Переход к предыдущему вхождению шаблона
поиска
Работа с Текстом в vi
В таблице описаны наиболее важные клавиши,
используемые для изменения, добавления и удаления
текста в vi.
Клавиша Применение
a Добавить текст после курсора; остановить клавишей
Escape
A Добавить текст в конец текущей строки; остановить
клавишей Escape
i Вставить текст перед курсором; остановить клавишей
Escape
I Вставить текст в начало текущей строки; остановить
клавишей Escape
o Начать новую строку ниже текущей строки, вставить
туда текст; остановить клавишей Escape
O Начать новую строку выше текущей строки, вставить
туда текст; остановить клавишей Escape
r Заменить символ в текущей позиции
Работа с Текстом в vi
Клавиша Применение
R
Заменить текст, начинающийся с текущей позиции;
остановить клавишей Escape
x Удалить символ в текущей позиции
Nx Удалить N символов, начиная с текущей позиции
dw Удалить слово в текущей позиции
D Удалить оставшуюся часть текущей строки
dd Удалить текущую строку
Ndd или dNd Удалить N строк
u Отменить предыдущую операцию
yy Копировать текущую строку и поместить ее в буфер
Nyy или yNy Копировать N строк и поместить их в буфер
p
Вставить в текущую позицию скопированную строку или
строки из буфера
Использование Внешних Команд, Сохранение
и Закрытие в Редакторе vi
Давайте начнем практическое изучение использования
внешних команд, сохранение и закрытие в редакторе vim.
1. Откройте редактор vi, введя в командной строке vi c
именем файла. Например, vi test2.
vi откроется в Командном режиме.
2. Введите i для перехода в режим Вставки.
Режим Вставки vi отобразиться на экране.
3. Напечатайте следующее предложение:
Nobody expects the Spanish Inquisition!
Nobody expects the 2020 revolution!
4. Чтобы выйти из режима Вставки и перейти в
Командный режим, нажмите Esc.
Использование Внешних Команд, Сохранение
и Закрытие в Редакторе vi
6. Откройте ранее сохраненный файл редактором vi.
7. Чтобы подсчитать слова в текущем файле, введите : ! wc %
Количество слов отобразится на экране.
8. Нажмите Enter для продолжения редактирования.
9. Для выхода из файла в котором не были произведены
изменения, введите :q
Файл закроется.
10. Откройте vi с недавно закрытым файлом.
11. Для выхода из файла без сохранения, введите :q!
Файл закроется без сохранения изменений.
Использование Внешних Команд
В редакторе vi при вводе в Командном режиме :<команда
оболочки>, откроется внешняя командная оболочка. При
закрытии оболочки, произойдет возвращение в сессию
редактора vi.
При вводе :! выполнится команда внутри vi. Команда
следует за восклицательным знаком. Данная методика
подходит наилучшим образом для не интерактивных
команд, таких как:
:! wc %
В результате запустится команда wc (word count) для
подсчета слов в файле; символ % представляет файл,
редактируемый в данный момент.
Использование Внешних Команд
Команда fmt делает простое форматирование текста.
При редактировании файла, если вы хотите, чтобы файл
выглядел красиво, вы можете запустить его через fmt.
Один из способов сделать это в процессе редактирования
ввести команду :%!fmt, которая запустит весь файл (%)
через fmt и отформатирует его.
Использование Внешних Команд
Проверка
В редакторе vi, какая клавиша используется для
перемещения курсора к первой строке экрана?
• H
• M
• L
• $
Проверка
В редакторе vim, какая команда используется для запуска
обучающей программы?
___________________
Вопрос 2: Утилиты обработки файлов
• Довольно часто приходиться
создавать, а затем повторно
редактировать и/или
извлекать содержимое из
файла. Чтобы без проблем
выполнять такие операции
необходимо научиться
использовать sed и awk.
Инструменты обработки текста
• sed - является мощным инструментом обработки
текста и одним из самых старых, ранних,
наиболее популярных утилит UNIX, sed служит
для того, чтобы изменять входные строчки.
• Пример: cat <файл> | sed ‘инструкция’
• или sed ‘инструкция’ <файл>,
• sed ‘s/John/Nick/g’ old.txt
• или cat old.txt | sed ‘s/John/Nick/g’
Инструменты обработки текста
• awk - утилита предназначенная для простых,
механических и вычислительных манипуляций
над данными.
• awk используется для извлечения, а затем
вывода определенного содержимого файла и для
создания отчетов.
• Пример: awk ‘инструкция’ var=value file
• awk -f scriptfile var=value file
Инструменты Командной Строки
• cat - одна из наиболее часто используемых
утилит командной строки в Linux
• Пример: $ cat <имя_файла>
• tac - (cat задом наперёд) печатает строки
файла в обратном порядке. Синтаксис tac
точно такой же как у cat:
• Пример: $ tac <имя_файла>
• echo - просто отображает (эхо) текст строки.
Пример использования: $ echo строка
Вопрос 2: Утилиты обработки файлов
• sort
• uniq
• paste
• join
• split
sort
• Утилита sort используется для перестановки строк текста в
порядке возрастания, убывания, в соответствии с ключом
сортировки Вы также можете сортировать конкретные поля
файла. Ключом сортировки по умолчанию является порядок
символов таблицы ASCII (т.е., фактически, по алфавиту).
ASCII (англ. American standard code for information
interchange) — название таблицы (кодировки, набора), в
которой некоторым распространённым печатным и
непечатным символам сопоставлены числовые коды.
sort
• Примеры:
Синтаксис Использование
sort <filename>
Сортирует строки в
определенном файле
cat file1 file2 | sort
Объединяет два файла,
затем сортирует строки и
выводит результат на
терминал
sort -r <filename>
Сортирует строки в
обратном порядке
uniq
• Утилита uniq используется для удаления
одинаковых строк (дубликатов) в текстовом
файле и упрощает отображение текста. uniq
удаляет повторяющиеся записи последовательно.
Поэтому часто запускают сначала команду sort, а
затем с помощью конвейера передают
полученные данные в uniq; если sort передается
опция –u, то это можно сделать за один шаг. В
показанном примере ниже, файл называется
names и первоначально состоял из следующих
строк: Ted, Bob, Alice, Bob, Carol, Alice.
uniq
• Пример:
• Чтобы удалить повторяющиеся записи из этого
файла, необходимо использовать следующие
команду:
• sort file1 file2 | uniq > file3
• или
• sort -u file1 file2 > file3
• Чтобы посчитать количество повторяющихся
записей, используйте следующую команду:
• uniq -c filename
paste
• Предположим, что у вас есть файл, который
содержит полные имена всех сотрудников и
другой файл, в котором перечислены их номера
телефонов и ID (идентификатор) сотрудников.
• paste может быть использована для создания
единственного файла, содержащего все три
колонки. Различные столбцы определяются
разделителями (интервалами для разделения
двух полей).
paste
• paste может быть использована для объединения полей
(например, имя или номер телефона) из различных файлов,
а также для объединения строк из нескольких файлов.
Например, первая строка из файла file1 может быть
объединена с первой строкой файла file2, вторая строка из
файла file1 может быть объединена со второй строкой
файла file2, и т.д.
• Пример:
• Чтобы вставить содержимое из двух файлов можно сделать:
• $ paste file1 file2
• Синтаксис использования различных разделителей:
• $ paste –d : file1 file2
• Обычными разделителями являются ‘пробел’, ‘табуляция’,
‘|’, ‘запетая’, и т.д.
join
• Предположим у вас есть два файла с одинаковыми
колонками. Вы сохранили номера телефонов сотрудников в
двух файлах, в первом с их именами, а в другом с их
фамилиями. Вы хотите объединить файлы без
повторяющихся данных общих колонок.
• Эта задача может быть достигнута с помощью join, которая
по сути является усовершенствованной версией past.
Утилита join сначала проверяет наличие в файлах общих
полей, такие как имена или номера телефонов, а затем
объединяет строки в двух файлах на основе общего поля.
join
• Чтобы объединить два файла по общему полю, в командной
строке введите join file1 file2 и нажмите клавишу Enter.
• Например, общим полем (т.е. оно содержит одинаковое
значение) среди файлов phonebook и directory является
номер телефона, как показано в выводе следующих команд
cat:
• $ cat phonebook $ cat directory
• 555-123-4567 Bob 555-123-4567 Anytown
• 555-231-3325 Carol 555-231-3325 Mytown
• 555-340-5678 Ted 555-340-5678 Yourtown
• 555-289-6193 Alice 555-289-6193 Youngstown
•
split
• Утилита split используется для разбиения (или разделения)
файла на равные по размеру сегменты для облегчения
просмотра и манипуляции, и, как правило, применяется
только для относительно больших файлов. По умолчанию
split разбивает файл на сегменты по 1 000 строк.
• Чтобы разделить файл infile на сегменты с помощью
другого префикса, используйте команду
• split infile <Prefix>.
split
• Использование split
• Чтобы посчитать количество строк в файле, необходимо
использовать команду wc (в ближайшее время будет
обсуждаться):
• $ wc -l american-english
• 99171 american-english
• Далее, чтобы разделить файл american-english на равные по
размеру сегменты с именами ‘dictionary’, необходимо
применить команду:
• $ split american-english dictionary
• В результате будут созданы файлы с равными сегментами и
разными наименованиями:
• $ ls -l dictionary*
• -rw-rw-r 1 me me 8552 Mar 23 20:19 dictionaryab
• -rw-rw-r 1 me me 8653 Mar 23 20:19 dictionaryaa
Утилиты обработки файлов
• Иногда вы можете не помнить точного имени
файла, который вы хотите найти. Тогда вы
можете его найти по содержанию. Для этого в
Linux существует утилита grep.
• Синтаксис команды выглядит следующим
образом:
• grep [шаблон] <файл>
• Название представляет собой акроним
английской фразы «search globally for lines
matching the regular expression, and print them»
— «искать везде строки, соответствующие
регулярному выражению, и выводить их».
grep
Команда Применение
grep “строка” <файл>
Поиск строки в файле, вывод
всех соответствующих строк
grep -с “строка” <файл>
Вывод количества вхождений
строки
grep -r “строка” <папка>
Поиск строки во всех файлах в
указанной папке и вывод
результата на экран
grep -v “строка” <файла>
Вывод всех строк, которые не
соответствует шаблону
grep [0-9] <файла>
Вывод строк, содержащие
цифры от 0 до 9
grep
• Давайте рассмотрим несколько примеров использования
данной утилиты.
• Чтобы найти строку “hello” в файле file.txt:
• grep “hello” file.txt
• Чтобы вывести сколько раз встречается строка “123” в
file.txt:
• grep -с “123” file.txt
• Чтобы найти строку “world” во всех файлах домашнего
каталога:
• grep -r “world” ~/
Утилиты обработки файлов
• Утилита tr используется для перевода указанных
символов в другие символы или для их удаления. Основной
синтаксис команды следующий:
• $ tr [опции] набор1 [набор2]
• Пример работы команды:
• echo cheer | tr '[abcdefghijklmnopqrstuvwxyz]'
'[hijklmnopqrstuvwxyzabcdefg]'
• Резлультат: jolly
• echo lower_case | tr '[a-z]' '[A-Z]'
• Результат:
• LOWER_CASE
Прочие текстовые утилиты
• Утилита tee берет выходные данные от любой команды, и
при отправки этих данных на стандартный вывод, также
сохраняет их в файл. Другими словами, эта команда
разделяет выходной поток от команды: один поток выходит
на стандартный вывод, а другой сохраняется в файл.
Прочие текстовые утилиты
• Утилита wc (world count) подсчитывает количество строк,
слов и символов в файле или в списке файлов. Опции
представлены в таблице ниже.
• Если опция не будет конкретно указана в команде wc, то
по умолчанию, будут вызваны все эти три опции.
• Например, чтобы вывести количество строк, содержащихся
в файле, в командной строке введите wc -l filename и
нажмите клавишу Enter.
Опция Описание
–l
Показывает количество
строк
-c
Показывает количество
символов
-w
Показывает количество
слов
Прочие текстовые утилиты
• Утилита cut используется для манипулирования файлами,
состоящими из полей и предназначена для извлечения отдельных
полей. По умолчанию разделителем полей является символ
табуляции. Любой другой разделитель может быть задан опцией
в команде.
• Например, чтобы вывести третий столбец, разделенный пробелом,
в командной строке введите ls -l | cut -d" " -f3 и нажмите
клавишу Enter.
• Опция –d используется для разделения полей, а опция –f
печатает только те поля, которые перечислены в списке полей.
Вопрос 3: Утилиты для работы с текстом.
• Системным администраторам необходимо работать с
конфигурационными файлами, документами, текстовыми
файлами и журналами. Некоторые из этих файлов могут
быть большими или стать достаточно большими,
накапливая данные с течением времени. Этим файлам
требуется как обычный просмотр, так и административное
обновление.
• утилита less, чтобы просмотреть
• содержимое такого большого по
• размеру файла, прокручивая вверх и
• вниз страницы, без необходимости
• размещение всего файла в памяти перед на
• чалом работы с ним. Это будет гораздо быстрее, чем
использование текстового редактора.
Работа с большими файлами и текстовыми
утилитами
• Пример:
• Просмотр файл можно сделать, введя одну из следующих
команд:
• $ less <файл>
• или
• $ cat <файл> | less
• По умолчанию, страницы руководства (т.е. команда man)
передаются через команду less.
• Утилита head считывает первые несколько строк (по
умолчанию 10) из файла и выводит их с помощью
стандартного выходного потока. В опции этой команды
можно задать любое количество строк.
Работа с большими файлами и текстовыми
утилитами
• Пример:
• Например, если вы хотите распечатать первые 5 строк из
файла atmtrans.txt, используйте следующую команду:
• $ head –n 5 atmtrans.txt
• Или
• $ head -5 atmtrans.txt
Работа с большими файлами и текстовыми
утилитами
• Утилита tail печатает последние несколько строк (по
умолчанию 10) из файла и выводит их с помощью
стандартного выходного потока. В опции этой команды
можно задать любое количество строк. Утилита tail
особенно полезна при устранении неполадок системы,
вызванные какой-нибудь проблемой, с помощью файлов
журналов, в которых можно будет посмотреть самые
последние строки.
• Например, чтобы вывести последние 15 строк файла
atmtrans.txt, используйте следующую команду:
• $ tail -n 15 atmtrans.txt
• Также можно применить команду: tail -15 atmtrans.txt.
• Чтобы постоянно следить за новыми выходными данными в
растущем файле журнале, можно применить команду:
• $ tail -f atmtrans.txt
Работа с большими файлами и текстовыми
утилитами
• Утилита strings используется для извлечения всех
печатных символьных строк, найденных в файле или
файлах, заданных в качестве аргумента. Эта утилита
полезна при поиске встроенного в бинарные файлы
контента, который был бы понятен человеку, так как для
текстовых файлов достаточно использовать утилиту grep.
• Например, чтобы найти строку my_string в электронной
таблице, следует использовать команду:
• $ strings book1.xls | grep my_string
Выводы
 Текстовые редакторы (не программы обработки текстов)
в Linux используются довольно часто, для таких задач как
создание и изменение системных файлов конфигурации,
написания сценариев (скриптов), разработки исходных
кодов и т.д.
 nano – это простой в использовании текстовый редактор
работающий в консоли.
 gedit – это графический редактор, очень похожий на
Блокнот в Windows.
 Редактор vi доступен на системах Linux и очень широко
используется. Также доступны версии с графическим
расширением vi.
 Популярной альтернативой редактора vi, является emacs,
который доступен на всех системах Linux. emacs может
поддерживать как графический пользовательский
интерфейс, так и текстовый режим интерфейса.
Выводы
 Для получения доступа к обучающей программе работы с
редактором vi, необходимо ввести vimtutor в окне
командной строки.
 Для получения доступа к обучающей программе работы с
редактором emacs, необходимо ввести CTRL-h и t в
программе emacs.
 vi имеет три режима: Командный (Нормальный),
Вставки и Командной строки.
 emacs имеет только один режим, но он требует
использовать специальные клавиши, такие как CTRL и Esc.
 Оба редактора используют различные комбинации клавиш
для выполнения задач; требуется много времени, чтобы
мастерски освоить эти редакторы, но после освоения ваша
работа с ними будет крайне эффективна.

More Related Content

Similar to Л 4.1 обработка текста.pptx

Изучение и редактирование кода
Изучение и редактирование кода Изучение и редактирование кода
Изучение и редактирование кода Yandex
 
линукс
линукслинукс
линуксlekiya
 
системное администрирование
системное администрированиесистемное администрирование
системное администрированиеsplinter408
 
Внедрение компонента templating в существующий проект
Внедрение компонента templating в существующий проектВнедрение компонента templating в существующий проект
Внедрение компонента templating в существующий проектStanislaw Smetanin
 
лабораторная работа №1
лабораторная работа №1лабораторная работа №1
лабораторная работа №1Zhanna Kazakova
 
лабораторная работа №1
лабораторная работа №1лабораторная работа №1
лабораторная работа №1Zhanna Kazakova
 
инструментарий
инструментарийинструментарий
инструментарийigdweb
 
Описание VivaVisualCode
Описание VivaVisualCodeОписание VivaVisualCode
Описание VivaVisualCodeTatyanazaxarova
 
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...WordCamp Kyiv
 
Mandriva Linux
Mandriva LinuxMandriva Linux
Mandriva Linux0882
 
Операционная система
Операционная системаОперационная система
Операционная системаkyky1234
 
диплом гаврилов
диплом гавриловдиплом гаврилов
диплом гавриловkyky1234
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor Dmitrii Stoian
 
Сидристый Станислав: Паттерны и антипаттерны BDD
Сидристый Станислав: Паттерны и антипаттерны BDDСидристый Станислав: Паттерны и антипаттерны BDD
Сидристый Станислав: Паттерны и антипаттерны BDDStanislav Sidristy
 
Как не подавиться большим старым проектом. Юрий Минаев ➠ CoreHard Autumn 2019
Как не подавиться большим старым проектом. Юрий Минаев ➠  CoreHard Autumn 2019Как не подавиться большим старым проектом. Юрий Минаев ➠  CoreHard Autumn 2019
Как не подавиться большим старым проектом. Юрий Минаев ➠ CoreHard Autumn 2019corehard_by
 

Similar to Л 4.1 обработка текста.pptx (20)

Изучение и редактирование кода
Изучение и редактирование кода Изучение и редактирование кода
Изучение и редактирование кода
 
линукс
линукслинукс
линукс
 
системное администрирование
системное администрированиесистемное администрирование
системное администрирование
 
Внедрение компонента templating в существующий проект
Внедрение компонента templating в существующий проектВнедрение компонента templating в существующий проект
Внедрение компонента templating в существующий проект
 
лабораторная работа №1
лабораторная работа №1лабораторная работа №1
лабораторная работа №1
 
лабораторная работа №1
лабораторная работа №1лабораторная работа №1
лабораторная работа №1
 
инструментарий
инструментарийинструментарий
инструментарий
 
378 васильев куницын
378 васильев куницын378 васильев куницын
378 васильев куницын
 
Описание VivaVisualCode
Описание VivaVisualCodeОписание VivaVisualCode
Описание VivaVisualCode
 
Panel control
Panel controlPanel control
Panel control
 
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
 
Windows3.1
Windows3.1Windows3.1
Windows3.1
 
9-vignetts.pdf
9-vignetts.pdf9-vignetts.pdf
9-vignetts.pdf
 
Mandriva Linux
Mandriva LinuxMandriva Linux
Mandriva Linux
 
Операционная система
Операционная системаОперационная система
Операционная система
 
диплом гаврилов
диплом гавриловдиплом гаврилов
диплом гаврилов
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor
 
Сидристый Станислав: Паттерны и антипаттерны BDD
Сидристый Станислав: Паттерны и антипаттерны BDDСидристый Станислав: Паттерны и антипаттерны BDD
Сидристый Станислав: Паттерны и антипаттерны BDD
 
лекция 4
лекция 4лекция 4
лекция 4
 
Как не подавиться большим старым проектом. Юрий Минаев ➠ CoreHard Autumn 2019
Как не подавиться большим старым проектом. Юрий Минаев ➠  CoreHard Autumn 2019Как не подавиться большим старым проектом. Юрий Минаев ➠  CoreHard Autumn 2019
Как не подавиться большим старым проектом. Юрий Минаев ➠ CoreHard Autumn 2019
 

Л 4.1 обработка текста.pptx

  • 2. Учебные вопросы • 1. Обзор текстовых редакторов. • 2. Утилиты обработки файлов • 3. Утилиты для работы с текстом.
  • 3. Введение Безусловно, компьютеры посвящены редактированию данных, манипулированию данными и управлению данными. В системах Linux такие данные часто имеют формат текстовых файлов. Иногда эти текстовые файлы создаются без сторонних приложений, но бывает такое, что вам понадобиться их отредактировать, тогда на Linux вы будете использовать то, что называется текстовый редактор. В этой теме мы рассмотрим некоторые из популярных текстовых редакторов, такие как nano, а также изучим шаг за шагом путем использования и настройки текстовой редактор vim. По окончанию этой темы, вам будет удобно редактировать свои текстовые файлы на любимом текстовом редакторе.
  • 4. Учебные цели По окончанию занятия, вы познакомитесь с: • Созданием и редактированием файлов с помощью доступных текстовых редакторов Linux. • Простым текстовым редактором nano. • Простым графическим текстовым редактором gedit. • Двумя продвинутыми редакторами с текстовым и графическим интерфейсом vi.  Отображать содержимое файла и добавлять содержимое к файлу с помощью cat и echo.  Редактировать и распечатывать содержимое файлов, используя команды set и awk.  Производить поиск по шаблону с помощью grep. Использовать множество других утилит для обработки файла и текста
  • 5. Обзор текстовых редакторов в Linux Дистрибутивы Linux упаковываны различными приложениями по выбору пользователя; когда дело доходит до текстовых редакторов, есть много вариантов, начиная от довольно простых до весьма сложных, в том числе: • nano • gedit • vi • emacs В этом вопросе, мы будем изучать nano и gedit; редакторы, которые относительно просты и легки в обучении. Прежде чем мы начнем, давайте взглянем на некоторые случаи, когда редактор не нужен.
  • 6. Создание Файлов Без Использования Редактора Иногда вам может потребоваться создать небольшой файл без использования полноценного текстового редактора. Кроме того, это может быть весьма полезным при использовании в скриптах, даже при создании больших файлов. Вы несомненно столкнетесь с этим, когда начнете изучать последующие темы, охватывающие написание bash-сценариев (bash-скриптов). Если вы хотите создать файл без использования редактора, то существует два способа создать файл из командной строки и заполнить его содержимым. Первый способ – это использовать несколько раз команду echo: $ echo line one > myfile $ echo line two >> myfile $ echo line three >> myfile
  • 7. Создание Файлов Без Использования Редактора Ранее мы узнали, что один символ «больше чем» (>) отправляет вывод команды в файл. Два символа «больше чем» (>>) добавляют новый вывод в существующий файл. Второй способ – это использовать команду cat в сочетании с перенаправлением: $ cat << EOF > myfile > line one > line two > line three > EOF $
  • 8. Создание Файлов Без Использования Редактора Обе техники, описанные выше, производят файл со следующими строками в нем: line one line two line three и являются чрезвычайно полезными при написании скриптов.
  • 9. Создание Файлов Без Использования Редактора
  • 10. Вопрос 1: Обзор текстовых редакторов • Введение в vi • Vimtutor • Режимы в vi • Работа с Файлами в vi • Изменение Позиций Курсора в vi • Использование Режимов и Перемещения курсора в vi • Поиск Текста в vi • Работа с Текстом в vi • Использование Внешних Команд, Сохранение и Закрытие в Редакторе vi • Использование Внешних Команд
  • 11. vi и emacs Разработчики и администраторы с опытом работы на Unix- подобных системах почти всегда используют один из двух способов редактирования: vi и emasc. Оба редактора присутствуют или легко доступны во всех дистрибутивах и являются полностью совместимыми с доступными версиями для других операционных систем.
  • 12. vi vi имеют исключительно основную текстовую форму, которая может быть запущена в неграфическом окружении. Эти редакторы также имеют один или более X-графические формы с расширенными возможностями; они могут быть более дружелюбными для менее опытных пользователей. Хотя vi могут иметь существенный обрыв кривой обучаемости для новых пользователей, они являются чрезвычайно эффективными при умении их использовать. Вы должны знать, что поединки среди опытных пользователей над тем, какой редактор лучше, могут быть достаточно интенсивными и часто описываются, как священная война.
  • 13. Введение в vi Обычно фактической программой, установленной в системе, является vim, которая означает vi Improved (Продвинутый vi) и является псевдонимом для имени vi. Название произносится как «ви-ай». Даже если вы не хотите использовать редактор vi, познакомиться с ним лишним не будет: он является стандартным инструментом, который установлен практически на всех дистрибутивах Linux. Более того, возможны случаи, когда в системе нет другого доступного редактора. GNOME расширяет vi графическим интерфейсом, известного как gvim, а KDE предлагает kvim. Любой из них может быть проще в использовании на первый взгляд. При использовании vi, все команды вводятся посредством клавиатуры; нет нужды постоянно двигать руки для использования устройства указателя, такие как мышь или тачпад.
  • 15. vimtutor Команда vimtutor запускает краткую, но очень емкую обучающую программу для тех, кто хочет познакомиться с первыми командами vi. Эта программа является хорошим местом для начала изучения vi. Хотя обучающая программа предоставляет только введение и семь уроков, она имеет достаточно материала, чтобы сделать из вас опытного пользователя vi, потому что она охватывает большое количество команд. Изучив основные команды, можно посмотреть новые возможности для включения их в свой список команд vi, потому что всегда существуют более оптимальные способы сделать вещи в vi без лишнего ввода с клавиатуры.
  • 17. Режимы в vi vi предоставляет три режима, описанные ниже в таблице. Важно не потерять из виду, в каком режиме вы находитесь. Множество клавиш и команд ведут себя совершенно по-разному в разных режимах.
  • 18. Режимы в vi Режим Функция Команд ный  По умолчанию, vi запускается в Командном режиме  Каждая клавиша – это команда редактора  Нажатие клавиш интерпретируется как команды, которые могут изменить содержимое файла Вставки  Введите i для перехода в режим Вставки (Insert) из Командного режима  Режим Вставки используется для ввода (вставки) текста в файл  Режим Вставки отображается индикатором «-- INSERT --» в нижней части экрана  Введите Esc для выхода из режима Вставки и возвращения в Командный режим Команд ной строки  Введите : для перехода в режим Командной строки из Командного режима. Каждая клавиша является внешней командой, включая такие операции, как запись содержимого файла на диск или выход  Использование команд редактирования строки унаследовано от старых редакторов строки. Большинство из этих команд фактически больше не используются. Некоторые команды редактирования строки являются очень мощными  Введите Esc для выхода из режима Командной строки и возвращение в Командный режим
  • 19. Работа с Файлами в vi В таблице описаны наиболее важные команды, используемые для запуска файлов, выхода из них, а также для чтения и записи в файлы в vi. Клавишу ENTER необходимо нажимать после всех этих команд.
  • 20. Работа с Файлами в vi Команда Применение vi myfile Запуск редактора vi и редактирование файла myfile vi -r myfile Запуск vi и редактирование myfile в режиме восстановления после системного сбоя :r file2 Прочитать в file2 и вставить в текущую позицию :w Записать в файл :w myfile Записать из файла в файл myfile :w! file2 Перезаписать file2 :x или :wq Выйти из vi и записать измененный файл :q Выход из vi :q! Выход из vi даже если не сохранены изменения
  • 21. Изменение Позиций Курсора в vi В таблице описаны наиболее важные нажатия клавиш, используемые для изменения позиции курсора в vi. Команды в режиме Командной строки (следуемые после двоеточия (:) ) требуют нажатие клавиши ENTER после ввода этих команд.
  • 22. Изменение Позиций Курсора в vi Клавиша Применение Клавиши со стрелками Перемещение вверх, вниз, влево и вправо j или Enter Перемещение на одну строку вниз k Перемещение на одну строку вверх h или Backspace Перемещение на один символ влево l или Пробел Перемещение на один символ вправо 0 Перемещение в начало строки $ Перемещение в конец строки w Перемещение в начало следующего слова :0 или 1G Перемещение в начало файла :n или nG Перемещение к строке n :$ или G Перемещение к последней строке в файле CTRL-F или Page Down Перемещение вперед на одну страницу CTRL-B или Page Up Перемещение назад на одну страницу CTRL-L Обновление и центрирование экрана
  • 23. Использование Режимов и Перемещения курсора в vi Давайте начнем практическое изучение использование режимов и перемещения курсора в vi: 1. Откройте vi, введя в командную строку vi test1. Vi откроется в Командном режиме 2. Введите i для перехода в режим Вставки Режим Вставки vi отобразится на экране. 3. Напечатайте следующие предложения: The quick brown fox jumped over the lazy dog. Nobody expects the Spanish Inquisition! 4. Для выхода из режима Вставки и перехода в Командный режим, нажмите Esc. 5. Чтобы выйти из редактора и сохранить файл, введите :wq и нажмите Enter.
  • 24. Использование Режимов и Перемещения курсора в vi 6. Откройте недавно сохраненный файл и переместите курсор на букву k в слове quick в первом предложении. Чтобы переместить курсор на четыре символа влево, нажмите h четыре раза. Курсор переместиться на букву q слова quick. 7. Чтобы переместить курсор на следующую строку, введите j. 8. Чтобы переместить курсор в начало следующего слова, введите w. Курсор переместиться в начало слова expects. 9. Чтобы переместить курсор в конец предложения, введите $. Курсор переместиться в конец второго предложения.
  • 25. Использование Режимов и Перемещения курсора в vi 10. Введите i для перехода в режим Вставки. Отобразится режим Вставки 11. Чтобы вставить текст в конец второго предложения, введите A History. Слово History отобразится в конце предложения. 12. Чтобы выйти из режима Вставки и перейти в Командный режим, нажмите ESC. 13. Чтобы выйти из vi и сохранить файл, введите :wq и нажмите Enter.
  • 26. Поиск Текста в vi В таблице описаны наиболее важные команды, используемые при поиске текста в vi. Клавиша Enter должна быть нажата после ввода шаблона поиска. Команда Применение /шаблон Поиск шаблона вперед ?шаблон Поиск шаблона назад В таблице описаны наиболее важные сочетания клавиш, используемые при поиске текста в vi. Клавиша Применение n Переход к следующему вхождению шаблона поиска N Переход к предыдущему вхождению шаблона поиска
  • 27. Работа с Текстом в vi В таблице описаны наиболее важные клавиши, используемые для изменения, добавления и удаления текста в vi. Клавиша Применение a Добавить текст после курсора; остановить клавишей Escape A Добавить текст в конец текущей строки; остановить клавишей Escape i Вставить текст перед курсором; остановить клавишей Escape I Вставить текст в начало текущей строки; остановить клавишей Escape o Начать новую строку ниже текущей строки, вставить туда текст; остановить клавишей Escape O Начать новую строку выше текущей строки, вставить туда текст; остановить клавишей Escape r Заменить символ в текущей позиции
  • 28. Работа с Текстом в vi Клавиша Применение R Заменить текст, начинающийся с текущей позиции; остановить клавишей Escape x Удалить символ в текущей позиции Nx Удалить N символов, начиная с текущей позиции dw Удалить слово в текущей позиции D Удалить оставшуюся часть текущей строки dd Удалить текущую строку Ndd или dNd Удалить N строк u Отменить предыдущую операцию yy Копировать текущую строку и поместить ее в буфер Nyy или yNy Копировать N строк и поместить их в буфер p Вставить в текущую позицию скопированную строку или строки из буфера
  • 29. Использование Внешних Команд, Сохранение и Закрытие в Редакторе vi Давайте начнем практическое изучение использования внешних команд, сохранение и закрытие в редакторе vim. 1. Откройте редактор vi, введя в командной строке vi c именем файла. Например, vi test2. vi откроется в Командном режиме. 2. Введите i для перехода в режим Вставки. Режим Вставки vi отобразиться на экране. 3. Напечатайте следующее предложение: Nobody expects the Spanish Inquisition! Nobody expects the 2020 revolution! 4. Чтобы выйти из режима Вставки и перейти в Командный режим, нажмите Esc.
  • 30. Использование Внешних Команд, Сохранение и Закрытие в Редакторе vi 6. Откройте ранее сохраненный файл редактором vi. 7. Чтобы подсчитать слова в текущем файле, введите : ! wc % Количество слов отобразится на экране. 8. Нажмите Enter для продолжения редактирования. 9. Для выхода из файла в котором не были произведены изменения, введите :q Файл закроется. 10. Откройте vi с недавно закрытым файлом. 11. Для выхода из файла без сохранения, введите :q! Файл закроется без сохранения изменений.
  • 31. Использование Внешних Команд В редакторе vi при вводе в Командном режиме :<команда оболочки>, откроется внешняя командная оболочка. При закрытии оболочки, произойдет возвращение в сессию редактора vi. При вводе :! выполнится команда внутри vi. Команда следует за восклицательным знаком. Данная методика подходит наилучшим образом для не интерактивных команд, таких как: :! wc % В результате запустится команда wc (word count) для подсчета слов в файле; символ % представляет файл, редактируемый в данный момент.
  • 32. Использование Внешних Команд Команда fmt делает простое форматирование текста. При редактировании файла, если вы хотите, чтобы файл выглядел красиво, вы можете запустить его через fmt. Один из способов сделать это в процессе редактирования ввести команду :%!fmt, которая запустит весь файл (%) через fmt и отформатирует его.
  • 34. Проверка В редакторе vi, какая клавиша используется для перемещения курсора к первой строке экрана? • H • M • L • $
  • 35. Проверка В редакторе vim, какая команда используется для запуска обучающей программы? ___________________
  • 36. Вопрос 2: Утилиты обработки файлов • Довольно часто приходиться создавать, а затем повторно редактировать и/или извлекать содержимое из файла. Чтобы без проблем выполнять такие операции необходимо научиться использовать sed и awk.
  • 37. Инструменты обработки текста • sed - является мощным инструментом обработки текста и одним из самых старых, ранних, наиболее популярных утилит UNIX, sed служит для того, чтобы изменять входные строчки. • Пример: cat <файл> | sed ‘инструкция’ • или sed ‘инструкция’ <файл>, • sed ‘s/John/Nick/g’ old.txt • или cat old.txt | sed ‘s/John/Nick/g’
  • 38. Инструменты обработки текста • awk - утилита предназначенная для простых, механических и вычислительных манипуляций над данными. • awk используется для извлечения, а затем вывода определенного содержимого файла и для создания отчетов. • Пример: awk ‘инструкция’ var=value file • awk -f scriptfile var=value file
  • 39. Инструменты Командной Строки • cat - одна из наиболее часто используемых утилит командной строки в Linux • Пример: $ cat <имя_файла> • tac - (cat задом наперёд) печатает строки файла в обратном порядке. Синтаксис tac точно такой же как у cat: • Пример: $ tac <имя_файла> • echo - просто отображает (эхо) текст строки. Пример использования: $ echo строка
  • 40. Вопрос 2: Утилиты обработки файлов • sort • uniq • paste • join • split
  • 41. sort • Утилита sort используется для перестановки строк текста в порядке возрастания, убывания, в соответствии с ключом сортировки Вы также можете сортировать конкретные поля файла. Ключом сортировки по умолчанию является порядок символов таблицы ASCII (т.е., фактически, по алфавиту). ASCII (англ. American standard code for information interchange) — название таблицы (кодировки, набора), в которой некоторым распространённым печатным и непечатным символам сопоставлены числовые коды.
  • 42. sort • Примеры: Синтаксис Использование sort <filename> Сортирует строки в определенном файле cat file1 file2 | sort Объединяет два файла, затем сортирует строки и выводит результат на терминал sort -r <filename> Сортирует строки в обратном порядке
  • 43. uniq • Утилита uniq используется для удаления одинаковых строк (дубликатов) в текстовом файле и упрощает отображение текста. uniq удаляет повторяющиеся записи последовательно. Поэтому часто запускают сначала команду sort, а затем с помощью конвейера передают полученные данные в uniq; если sort передается опция –u, то это можно сделать за один шаг. В показанном примере ниже, файл называется names и первоначально состоял из следующих строк: Ted, Bob, Alice, Bob, Carol, Alice.
  • 44. uniq • Пример: • Чтобы удалить повторяющиеся записи из этого файла, необходимо использовать следующие команду: • sort file1 file2 | uniq > file3 • или • sort -u file1 file2 > file3 • Чтобы посчитать количество повторяющихся записей, используйте следующую команду: • uniq -c filename
  • 45. paste • Предположим, что у вас есть файл, который содержит полные имена всех сотрудников и другой файл, в котором перечислены их номера телефонов и ID (идентификатор) сотрудников. • paste может быть использована для создания единственного файла, содержащего все три колонки. Различные столбцы определяются разделителями (интервалами для разделения двух полей).
  • 46. paste • paste может быть использована для объединения полей (например, имя или номер телефона) из различных файлов, а также для объединения строк из нескольких файлов. Например, первая строка из файла file1 может быть объединена с первой строкой файла file2, вторая строка из файла file1 может быть объединена со второй строкой файла file2, и т.д. • Пример: • Чтобы вставить содержимое из двух файлов можно сделать: • $ paste file1 file2 • Синтаксис использования различных разделителей: • $ paste –d : file1 file2 • Обычными разделителями являются ‘пробел’, ‘табуляция’, ‘|’, ‘запетая’, и т.д.
  • 47. join • Предположим у вас есть два файла с одинаковыми колонками. Вы сохранили номера телефонов сотрудников в двух файлах, в первом с их именами, а в другом с их фамилиями. Вы хотите объединить файлы без повторяющихся данных общих колонок. • Эта задача может быть достигнута с помощью join, которая по сути является усовершенствованной версией past. Утилита join сначала проверяет наличие в файлах общих полей, такие как имена или номера телефонов, а затем объединяет строки в двух файлах на основе общего поля.
  • 48. join • Чтобы объединить два файла по общему полю, в командной строке введите join file1 file2 и нажмите клавишу Enter. • Например, общим полем (т.е. оно содержит одинаковое значение) среди файлов phonebook и directory является номер телефона, как показано в выводе следующих команд cat: • $ cat phonebook $ cat directory • 555-123-4567 Bob 555-123-4567 Anytown • 555-231-3325 Carol 555-231-3325 Mytown • 555-340-5678 Ted 555-340-5678 Yourtown • 555-289-6193 Alice 555-289-6193 Youngstown •
  • 49. split • Утилита split используется для разбиения (или разделения) файла на равные по размеру сегменты для облегчения просмотра и манипуляции, и, как правило, применяется только для относительно больших файлов. По умолчанию split разбивает файл на сегменты по 1 000 строк. • Чтобы разделить файл infile на сегменты с помощью другого префикса, используйте команду • split infile <Prefix>.
  • 50. split • Использование split • Чтобы посчитать количество строк в файле, необходимо использовать команду wc (в ближайшее время будет обсуждаться): • $ wc -l american-english • 99171 american-english • Далее, чтобы разделить файл american-english на равные по размеру сегменты с именами ‘dictionary’, необходимо применить команду: • $ split american-english dictionary • В результате будут созданы файлы с равными сегментами и разными наименованиями: • $ ls -l dictionary* • -rw-rw-r 1 me me 8552 Mar 23 20:19 dictionaryab • -rw-rw-r 1 me me 8653 Mar 23 20:19 dictionaryaa
  • 51. Утилиты обработки файлов • Иногда вы можете не помнить точного имени файла, который вы хотите найти. Тогда вы можете его найти по содержанию. Для этого в Linux существует утилита grep. • Синтаксис команды выглядит следующим образом: • grep [шаблон] <файл> • Название представляет собой акроним английской фразы «search globally for lines matching the regular expression, and print them» — «искать везде строки, соответствующие регулярному выражению, и выводить их».
  • 52. grep Команда Применение grep “строка” <файл> Поиск строки в файле, вывод всех соответствующих строк grep -с “строка” <файл> Вывод количества вхождений строки grep -r “строка” <папка> Поиск строки во всех файлах в указанной папке и вывод результата на экран grep -v “строка” <файла> Вывод всех строк, которые не соответствует шаблону grep [0-9] <файла> Вывод строк, содержащие цифры от 0 до 9
  • 53. grep • Давайте рассмотрим несколько примеров использования данной утилиты. • Чтобы найти строку “hello” в файле file.txt: • grep “hello” file.txt • Чтобы вывести сколько раз встречается строка “123” в file.txt: • grep -с “123” file.txt • Чтобы найти строку “world” во всех файлах домашнего каталога: • grep -r “world” ~/
  • 54. Утилиты обработки файлов • Утилита tr используется для перевода указанных символов в другие символы или для их удаления. Основной синтаксис команды следующий: • $ tr [опции] набор1 [набор2] • Пример работы команды: • echo cheer | tr '[abcdefghijklmnopqrstuvwxyz]' '[hijklmnopqrstuvwxyzabcdefg]' • Резлультат: jolly • echo lower_case | tr '[a-z]' '[A-Z]' • Результат: • LOWER_CASE
  • 55. Прочие текстовые утилиты • Утилита tee берет выходные данные от любой команды, и при отправки этих данных на стандартный вывод, также сохраняет их в файл. Другими словами, эта команда разделяет выходной поток от команды: один поток выходит на стандартный вывод, а другой сохраняется в файл.
  • 56. Прочие текстовые утилиты • Утилита wc (world count) подсчитывает количество строк, слов и символов в файле или в списке файлов. Опции представлены в таблице ниже. • Если опция не будет конкретно указана в команде wc, то по умолчанию, будут вызваны все эти три опции. • Например, чтобы вывести количество строк, содержащихся в файле, в командной строке введите wc -l filename и нажмите клавишу Enter. Опция Описание –l Показывает количество строк -c Показывает количество символов -w Показывает количество слов
  • 57. Прочие текстовые утилиты • Утилита cut используется для манипулирования файлами, состоящими из полей и предназначена для извлечения отдельных полей. По умолчанию разделителем полей является символ табуляции. Любой другой разделитель может быть задан опцией в команде. • Например, чтобы вывести третий столбец, разделенный пробелом, в командной строке введите ls -l | cut -d" " -f3 и нажмите клавишу Enter. • Опция –d используется для разделения полей, а опция –f печатает только те поля, которые перечислены в списке полей.
  • 58. Вопрос 3: Утилиты для работы с текстом. • Системным администраторам необходимо работать с конфигурационными файлами, документами, текстовыми файлами и журналами. Некоторые из этих файлов могут быть большими или стать достаточно большими, накапливая данные с течением времени. Этим файлам требуется как обычный просмотр, так и административное обновление. • утилита less, чтобы просмотреть • содержимое такого большого по • размеру файла, прокручивая вверх и • вниз страницы, без необходимости • размещение всего файла в памяти перед на • чалом работы с ним. Это будет гораздо быстрее, чем использование текстового редактора.
  • 59. Работа с большими файлами и текстовыми утилитами • Пример: • Просмотр файл можно сделать, введя одну из следующих команд: • $ less <файл> • или • $ cat <файл> | less • По умолчанию, страницы руководства (т.е. команда man) передаются через команду less. • Утилита head считывает первые несколько строк (по умолчанию 10) из файла и выводит их с помощью стандартного выходного потока. В опции этой команды можно задать любое количество строк.
  • 60. Работа с большими файлами и текстовыми утилитами • Пример: • Например, если вы хотите распечатать первые 5 строк из файла atmtrans.txt, используйте следующую команду: • $ head –n 5 atmtrans.txt • Или • $ head -5 atmtrans.txt
  • 61. Работа с большими файлами и текстовыми утилитами • Утилита tail печатает последние несколько строк (по умолчанию 10) из файла и выводит их с помощью стандартного выходного потока. В опции этой команды можно задать любое количество строк. Утилита tail особенно полезна при устранении неполадок системы, вызванные какой-нибудь проблемой, с помощью файлов журналов, в которых можно будет посмотреть самые последние строки. • Например, чтобы вывести последние 15 строк файла atmtrans.txt, используйте следующую команду: • $ tail -n 15 atmtrans.txt • Также можно применить команду: tail -15 atmtrans.txt. • Чтобы постоянно следить за новыми выходными данными в растущем файле журнале, можно применить команду: • $ tail -f atmtrans.txt
  • 62. Работа с большими файлами и текстовыми утилитами • Утилита strings используется для извлечения всех печатных символьных строк, найденных в файле или файлах, заданных в качестве аргумента. Эта утилита полезна при поиске встроенного в бинарные файлы контента, который был бы понятен человеку, так как для текстовых файлов достаточно использовать утилиту grep. • Например, чтобы найти строку my_string в электронной таблице, следует использовать команду: • $ strings book1.xls | grep my_string
  • 63. Выводы  Текстовые редакторы (не программы обработки текстов) в Linux используются довольно часто, для таких задач как создание и изменение системных файлов конфигурации, написания сценариев (скриптов), разработки исходных кодов и т.д.  nano – это простой в использовании текстовый редактор работающий в консоли.  gedit – это графический редактор, очень похожий на Блокнот в Windows.  Редактор vi доступен на системах Linux и очень широко используется. Также доступны версии с графическим расширением vi.  Популярной альтернативой редактора vi, является emacs, который доступен на всех системах Linux. emacs может поддерживать как графический пользовательский интерфейс, так и текстовый режим интерфейса.
  • 64. Выводы  Для получения доступа к обучающей программе работы с редактором vi, необходимо ввести vimtutor в окне командной строки.  Для получения доступа к обучающей программе работы с редактором emacs, необходимо ввести CTRL-h и t в программе emacs.  vi имеет три режима: Командный (Нормальный), Вставки и Командной строки.  emacs имеет только один режим, но он требует использовать специальные клавиши, такие как CTRL и Esc.  Оба редактора используют различные комбинации клавиш для выполнения задач; требуется много времени, чтобы мастерски освоить эти редакторы, но после освоения ваша работа с ними будет крайне эффективна.