Created new structure

This commit is contained in:
semaev
2018-04-05 11:51:16 +03:00
parent f5621af984
commit bd7593add3
72 changed files with 86 additions and 81 deletions
-99
View File
@@ -1,99 +0,0 @@
**103.2** Управление текстовым потоком
Студент должен уметь управлять фильтровать текстовый поток
**Изучаем** :
- применение текстовых фильтров с использованием встроенных команд UNIX
**Термины и утилиты: **
- cat
- cut
- expand
- fmt
- head
- join
- less
- nl
- od
- paste
- pr
- sed
- sort
- split
- tail
- tr
- unexpand
- uniq
- wc
Множество файлов в Linux неудобны для восприятия без предварительного форматирования, кроме того процесс обработки текстовой информации часто требует ее форматирования, обрезания, сортировки и т.д. Linux предлагает широкий набор инструментов редактирования текстового вывода, при этом следует заметить что указанные инструменты не затрагивают исходный файл (или текстовый поток), а форматируют его, выдавая полученный результат в консоль или другой файл.
Простой вывод текста (без корректировки содержимого):
Для вывода содержимого файла или объединения нескольких файлов на выводе используется команда **cat** , например:
**с**** at **** 1. ****txt** **2.**** txt **** > 3. ****txt**** ** _(передать содержимое двух файлов в третий);_
Команда **join** объединяет строки нескольких файлов по общему полю и отправляет их на стандартный вывод.
Команда **less** загружает файл постепенно и также отправляет его на вывод (удобно для больших файлов).
Команда **nl** нумерует строки.
Команда **pr** показывает, как содержимое файла будет выглядеть при выводе его на печать.
Команда **paste** вставляет строки из одного файла в другой и отправляет результат на стандартный вывод.
Команда **head** показывает первые строки файла, а **tail** последние.
Например:
**head** ****** n **** 2 / ****var**** / ****log**** / ****syslog**** ** _(вывести первые две строчки файла);_
**tail** ****** f **** / ****var**** / ****log**** / ****syslog**** ** _(показывать последние строки файла, отображая содержимое в реальный момент времени);_
Команда **sort** может отсортировать содержимое файла по какому-нибудь признаку, например:
**sort** **1.**** txt **** ** _(отсортировать строки по алфавиту);_
Команда **wc** позволяет посчитать количество символов и т.д. в текстовом потоке, например:
**wc** **1.**** txt** _(посчитать количество строк, символов, слов);_
Вывод форматированного текста (с корректировкой содержимого):
Команда **cut** используется для обрезания содержимого файлов на выводе, например:
**с**** ut **** ****c** **2,3,4,5,10 1.**** txt **** ** _(показывать только символы на указанных позициях: 2,3,4,5,10);_
Команда **expand** превращает символы табуляции в несколько пробелов, а **unexpand** наоборот – пробелы в символы табуляции.
Команда **fmt** предназначена для форматирования текста различными способами, например:
**fmt** **1.**** txt **** ** _(вывести содержимое файла в одну строку);_
**fmt** ****** w **** 10 1. ****txt**** ** _(вывести содержимое файла в строки не больше 10 символов каждая);_
Команда **od** предназначена для конвертации текста в другой формат, например:
**od** ****** c **** 1. ****txt**** ** _(отобразить в кодировке_ _ASCI__);_
Команда **tr** предназначена для замены и удаления символов в текстовом потоке, например:
**echo** **"**** HELLO ****" |** **tr** ****** t ****L**** l **** ** _(заменить " __L__" на " __l__" в полученном на вводе тексте);_
Команда **split** может разбить файла по каким-либо критериям, например:
**split** ****** l **** 2 1. ****txt** _(разбить содержимое файла по две строчки);_
Команда **uniq** предназначена для поиска повторяющихся строк, например:
**uniq** ****** u **** 1. ****txt** _(показать только уникальные строки);_
**Sed** – отдельный мощный инструмент, понимающий групповые символы, шаблоны и т.д. Будет рассмотрен немного подробнее в дальнейших урока. Работает, например, так:
**sed e 's/socks/people/' 1.txt ** _( __заменить__ в __файле__ слово_ _"socks"_ _на_ _"people");_