Найти в Дзене
Игорь Сотников

РАБОТА С ТЕКСТОВЫМИ ВЫВОДАМИ В LINUX. Часть 1.

Доброго времени суток ! Уважаемые коллеги и просто читатели, моих заметок. Продолжаем разбираться в основах Linux. Начинаю серию статей по работе с текстовыми выводами.

Цель стати разобраться с текстовыми потоками. А также рассмотреть фильтрование текстовых выводы логов их редактирование, журналов сообщений и т.д. Проще говоря, рассмотреть фильтрация и корректировка выводимого на экран текста. Текстовый поток так называется, потому что это выводимая информация может быть не просто статичный текстовый файл, а те текстовые файлы, которые постоянно меняются или дополняются в режиме реального времени.

Список стандартных команд, которые понадобятся для достижения цели:

Cat, cut, expand, fmt, head, join, less, nl, od, paste, pr, sed, sort, split, tail, tr, unexpand, uniq, wc.

Для начала создадим пару текстовых файлов. Переходим в домашнюю корневую папку пользователя root. Переключение пользователя sudo su, и cd ~ . В любом текстовом редакторе создаем 2 файла hello1.txt и hello2.txt с содержанием как на скриншотах.

-2

Первый. И второй ниже.

-3

КОМАНДА CAT

Начнем с команды, с которой уже не однократно встречались, команда cat. Сначала посмотрим справку по данной команде. man cat. Тут мы можем увидеть, что данная команда предназначена для объединения файлов и печати на стандартный вывод информации. Под стандартным выводом подразумевается вывод на консоль информации. Так же можно увидеть, что у данной команды есть ключи.

Самое простое применение данной команды. Вводим cat hello1.txt команда показывает то, что на скриншоте выше.

-4

Проведем маленький эксперимент и выведем сразу информацию из двух созданных файлов.

cat hello1.txt hello2.txt

-5

А в справке было написано, что команда может объединять содержимое файлов. Попробуем:

cat hello1.txt hello2.txt > hello3.txt
cat hello3.txt

Мы вывели на стандартный вывод (консоль) содержимое файлов и передали то, что на экране в новый файл hello3.txt. А затем просто вывели на консоль. Результат можно посмотреть на скриншоте ниже.

-6

Если нам файл более не нужен можно воспользоваться командой для удаления файлов

rm hello3.txt

Команда cat более часто используется для объединения файлов, для просмотра содержимого чаще используются другие команды.

КОМАНДА CUT

-7

Данная команда предназначена для удаления секций из строчек файлов. Если посмотреть на ключи, то мы можем увидеть, что данная команда может удалять по различным признакам. По полям, по символам, по байтам, это интересная команда, которая позволяет нам вырезать части из файлов. Небольшой пример:

cut -c 2,3,4,5,10 hello1.txt

Данной командой мы говорим, что при выводе на экран нам необходимо "вырезать" перечисленные символы и вывести оставшееся на экран. Замечу, что команда cut не является текстовым редактором и поэтому фалы не правит! А только правит вывод в консоль. Если посмотреть командой cat hello1.txt файл остался неизменным.

-8

Все команды, про которые речь в статье не редактируют исходные файлы, они только фильтруют или редактируют стандартный вывод информации. Для редактирования файлов используются текстовые редакторы.

Мы посмотрели, как данная команда редактирует вывод, на практике мы можем редактировать колонки, столбцы, вывода в каком-то конкретном логе или таблице. Т.е. мы можем выводить на экран только то, что нам нужно. Например, у нас есть лог события, какого-то, мы можем вывести только дату и события, остальное все лишнее отрезать данной командой в выводе.

Продолжение следует.