Перенаправление потоков ввода-вывода

Перенаправление потоков ввода-вывода #

Использование приложения sort #

Сохраните данный текст в текстовый файл sort-sample-1.txt

apples
oranges
pears
kiwis
bananas
  1. Отобразите отсортированные строки данного файла на стандартном потоке вывода.
  2. Сохраните результат сортировки в файл sort-sample-1-result-1.txt с помощью перенаправления потока вывода.
  3. Сохраните результат сортировки в файл sort-sample-1-result-2.txt с помощью аргументов приложения sort.
  4. Проведите сортировку результатов в обратном порядке.
  5. Сохраните результат обратной сортировки в файл sort-sample-1-result-3.txt с помощью перенаправления потока вывода.
  6. Сохраните результат обратной сортировки в файл sort-sample-1-result-4.txt с помощью аргументов приложения sort.

Сохраните данный текст в текстовый файл sort-sample-2.txt:

a
b
A
B
b
c
D
d
C
  1. Отобразите результаты простой сортировки данного файла на стандартный поток вывода.

  2. Отсортируйте данные без учёта регистра, результат отобразите на стандартный поток вывода.

  3. Отсортируйте данные без учёта регистра, результат сохраните в файл sort-sample-2-result-1.txt с помощью перенаправления потока вывода.

  4. Отсортируйте данные без учёта регистра, результат сохраните в файл sort-sample-2-result-2.txt с помощью аргументов приложения sort.

  5. Используя аргументы приложения sort проверьте, что следующие файлы отсортированы:

    1. sort-sample-1.txt
    2. sort-sample-1-result-1.txt
    3. sort-sample-2.txt
    4. sort-sample-2-result-1.txt
  6. Объясните результаты, которые предоставило вам приложение.

Задача на сортировку по столбцу требует хорошего знания английского языка, т.е. является дополнительным.

Сохраните данный текст в текстовый файл sort-sample-3.txt:

01 Joe Sr.Designer
02 Marie Jr.Developer
03 Albert Jr.Designer
04 Dave Sr.Developer
  1. Выполните сортировку строк данного файла. Результат выведите в файл sort-sample-3-result-1.txt.
  2. Выполните сортировку строк данного файла по Имени, т.е. 2 столбцу. Результат сохраните в файл sort-sample-3-result-2.txt.
  3. Выполните сортировку строк данного файла по Должности, т.е. 3 столбцу. Результат сохраните в файл sort-sample-3-result-3.txt.

Сохраните данный текст в текстовый файл sort-sample-4.txt:

50
39
15
89
200
  1. Выполните сортировку строк данного файла.
  2. Выполните сортировку строк с учётом того, что они являются числами.
  3. Выполните сортировку строк как чисел, сохраните результат в файл sort-sample-4-result1.txt

Использование приложения uniq #

Сохраните следующий текст в файл uniq-sample-1.txt:

I love music.
I love music.
I love music.

I love music of Kartik.
I love music of Kartik.

Thanks.
  1. Отобразите уникальные строки в данном файле.
  2. Сохраните уникальные строки из данного файла в файл uniq-sample-1-result-1.txt с помощью перенаправления потока вывода.
  3. Отобразите количество повторений для каждой строки в данном файле.
  4. Отобразите только лишь повторяющиеся строки в данном файле.
  5. Отобразить все повторения повторяющихся строк в данном файле.
  6. Отобразите только лишь уникальные строки в данном файле.

Сохраните следующий текст в файл uniq-sample-2.txt:

1. I love music.
2. I love music.
3. I love music of Kartik.
4. I love music of Kartik.
  1. Найдите уникальные строки в данном файле с настройками по умолчанию.
  2. Найдите уникальные строки, отбросив первые 2 поля от каждой строки.

Сохраните следующий текст в файл uniq-sample-3.txt:

#%@I love music.
^&(I love music.
*-!@thanks.
#%@!thanks.
  1. Найдите уникальные строки, отбросив первые 3 символа от каждой строки.
  2. Найдите уникальные строки, отбросив первые 2 поля от каждой строки.

Сохраните следующий текст в файл uniq-sample-4.txt:

How it is possible?
How it can be done?
How to use it?
  1. Отобразите уникальные строки из данного файла.
  2. Отобразите уникальные строки, ограничив сравнение строк первыми тремя символами.

Сохраните следующий текст в файл uniq-sample-5.txt:

I LOVE MUSIC
i love music
THANKS
Thanks

Я тоже люблю музыку
Я ТОЖЕ ЛЮБЛЮ МУЗЫКУ
  1. Отобразите уникальные строки из данного файла.
  2. Отобразите уникальные строки без учёта регистра из данного файла.

Сохраните следующий текст в файл uniq-sample-6.txt:

I love music.
I love music.
I love music.

I love music of Kartik.
I love music of Kartik.

Thanks.

I love music.
I love music.
I love music.

I love music of Kartik.
I love music of Kartik.

Thanks.

I love music.
I love music.
I love music.

I love music of Kartik.
I love music of Kartik.

Thanks.
  1. Отобразите уникальные строки в данном файле.
  2. Отсортируйте содержимое файла с помощью sort и сохраните результат в файл uniq-sample-6-sorted.txt. Затем отобразите уникальные строки в созданном файле. Сравните результат с первым вызовом.
  3. Отсортируйте содержимое данного файла с помощью sort, передайте результат обработки в приложение uniq

Использование приложения grep #

Сохраните следующий текст в файл grep-sample-1.txt:

THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper Case.

Two lines above this line is empty.
And this is the last line.
  1. Найдите строку this в данном файле.
  2. Найдите строку music во всех файлов, которые были созданы до сих пор.
  3. Найдите строку this без учёта регистра в данном файле. (-i)
  4. Найдите строку music без учёта регистра во всех файлах.
  5. Выполните предыдущие задачи, добавьте в вывод указание номера строки, в которой находится искомое слово. (-n)
  6. Найдите строку is в данном файле.
  7. Найдите слово is в данном файле. (-w)
  8. Отобразите часть строк, которые совпали с шаблоном поиска is*line в данном файле. (-o)

Сохраните следующий текст в файл grep-sample-2.txt:

4. Vim Word Navigation

You may want to do several navigation in relation to the words, such as:

 * e - go to the end of the current word.
 * E - go to the end of the current WORD.
 * b - go to the previous (before) word.
 * B - go to the previous (before) WORD.
 * w - go to the next word.
 * W - go to the next WORD.

WORD - WORD consists of a sequence of non-blank characters, separated with white space.
word - word consists of a sequence of letters, digits and underscores.

Example to show the difference between WORD and word

 * 192.168.1.1 - single WORD
 * 192.168.1.1 - seven words.
  1. Найдите слово example в данном тексте без учёта регистра. В вывод добавьте 3 строки после искомой. (-A)
  2. Найдите вхождение строки single WORD в данном тексте. В вывод добавьте 2 строки перед искомой. (-B)
  3. Найдите слово Example в данном тексте. В вывод добавьте 2 строки до и после искомой. (-C)
  4. Найдите все строки в данном файле, в которых нет слова go. (-v)
  5. Найдите все строки в файле sort-sample-2.txt, в которых нет строк b и d. (несколько раз -e)
  6. Подсчитайте вхождения слова example без учёта регистра в данном тексте. (-c)

Использование приложения head #

  1. Отобразите первые 15 строк каждого файла из задачи для приложения grep.
  2. Отобразите первые 20 строк длинного вывода ls для каталога /usr/bin. Длинный вывод достигается с помощью аргумента -l.
  3. Отобразите первые 50 строк из объединённых файлов для задачи по использованию grep.

Использование приложения tail #

  1. Отобразите последние 7 строк каждого файла из задачи для приложения grep.
  2. Отобразите последние 10 строк длинного вывода приложения ls для каталога /usr/bin.
  3. В одной из консоли создайте пустой файл tail-test.txt и начните отслеживать изменения к данному файлу с помощью приложения tail, флаг -f. Откройте вторую консоль и выполните следующие действия:
    • Добавьте в конец файла строку test string. Посмотрите на вывод tail.
    • Добавьте в конец файла строку another test. Посмотрите на вывод tail.
    • Перезапишите файл строкой new test. Посмотрите вывод tail.
    • Завершите работу tail послав сигнал завершения Ctrl+C.

© A. M. Васильев, 2022, CC BY-SA 4.0, andrey@crafted.su