mirror of
https://github.com/Yaslonane/lpic_1-101.git
synced 2026-05-19 09:47:59 +03:00
Created new structure
This commit is contained in:
@@ -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");_
|
||||
Reference in New Issue
Block a user