Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UNIX.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
10.6 Mб
Скачать

Сценарий: Cоздание новых текстовых файлов

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

Начальные условия:

  1. Ввести команду echo "One line":

  2. user@desktop test $ echo "One line"

One line

Данная команда принимает строку в виде аргумента и выводит её на стандартный вывод.

  1. Ввести ту же команду, но перенаправить вывод в файл second.txt с помощью «>». Ввести команду echo "One line" > second.txt:

user@desktop test $ echo "One line" > second.txt

  1. Добавить в конец файла second.txt строку «A line» с помощью другого перенаправления echo "A line" >> second.txt:

user@desktop test $ echo "A line" >> second.txt

  1. Вывести содержимое файла с помощью команды cat second.txt:

  2. user@desktop test $ cat second.txt

  3. One line

A line

  1. С помощью команды cat можно создавать многострочные файлы —, если переопределить вывод программы в файл и вводить текст до нажатия Ctrl-D (конец ввода). Ввести команду cat >multiline.txt и набрать текст

  2. user@desktop test $ cat >multiline.txt

  3. Simple text:

  4. blah-blah-blah

  5. 1 2 3 4 5 6 7 8 9 0

  6. bye!

  7. (Ctrl+D)

user@desktop test $

  1. Убедиться, что содержимое файла совпадает с введённым текстом, включая все переводы строки. Для этого ввести команду cat multiline.txt

  2. user@desktop test $ cat multiline.txt

  3. Simple text:

  4. blah-blah-blah

  5. 1 2 3 4 5 6 7 8 9 0

  6. bye!

  7. Основным назначением команды cat является объединение файлов, имена которых передаются как аргументы командной строки. Объединить файлы с помощью команды cat orig.txt second.txt multiline.txt > big.txt:

user@desktop test $ cat orig.txt second.txt multiline.txt > big.txt

  1. Убедиться, что новый файл содержит строки из перечисленных файлов с помощью команды cat big.txt:

  2. user@desktop test $ cat big.txt

  3. Hello, world

  4. One line

  5. A line

  6. Simple text:

  7. blah-blah-blah

  8. 1 2 3 4 5 6 7 8 9 0

  9. bye!

Сценарий: Разрезание и склеивание файлов

В данном сценарии изучается, как выделять информацию, разбитую на части с помощью специального символа-разделителя (например, прообела или символа :), из файлов и создавать новые структурированные файлы.

Начальные условия: Командная строка.

  1. Посмотреть содержимое файла /etc/passwd, в котором содержится информация о пользователях системы, с помощью команды cat /etc/passwd:

  2. user@desktop test $ cat /etc/passwd

  3. root:x:0:0:root:/root:/bin/bash

  4. bin:x:1:1:bin:/bin:/bin/false

  5. daemon:x:2:2:daemon:/sbin:/bin/false

  6. adm:x:3:4:adm:/var/adm:/bin/false

  7. lp:x:4:7:lp:/var/spool/lpd:/bin/false

  8. sync:x:5:0:sync:/sbin:/bin/sync

  9. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

...

Каждая строка хранит запись об отдельном пользователе. Запись состоит из полей, разделённых символом «:».

  1. Выделить первый столбец в каждой записи, установив разделитель в «:», с потощью команды cat /etc/passwd | cut -f1 -d::

  2. user@desktop test $ cat /etc/passwd | cut -f1 -d:

  3. root

  4. bin

  5. daemon

  6. adm

  7. lp

  8. sync

  9. shutdown

...

  1. Отсортировать список пользователей по алфавиту с помощью команды cat /etc/passwd | cut -f1 -d: | sort:

  2. user@desktop test $ cat /etc/passwd | cut -f1 -d: | sort

  3. adm

  4. alias

  5. apache

  6. at

  7. bin

  8. cron

  9. cyrus

...

  1. Выделить седьмой столбец в каждой записи, соответствующий командной оболочке пользователя, с помощью команды cat /etc/passwd | cut -f7 -d:

  2. user@desktop test $ cat /etc/passwd | cut -f7 -d:

  3. /bin/bash

  4. /bin/false

  5. /bin/false

  6. /bin/false

  7. /bin/false

  8. /bin/sync

...

Список содержит много повторяющихся строк.

  1. Удалить повторяющиеся строки командой cat /etc/passwd | cut -f7 -d: | uniq:

  2. user@desktop test $ cat /etc/passwd | cut -f7 -d: | uniq

  3. /bin/bash

  4. /bin/false

  5. /bin/sync

  6. /sbin/shutdown

  7. /sbin/halt

  8. /bin/false

...

Некоторые повторяющиеся строки остались, так как сравниваются только последовательные строки.

  1. Добиться полной уникальности, предварительно отсортировав строки с помощью команды sort. Ввести команду cat /etc/passwd | cut -f7 -d: | sort | uniq:

  2. user@desktop test $ cat /etc/passwd | cut -f7 -d: | sort | uniq

  3. /bin/bash

  4. /bin/false

  5. /bin/sync

  6. /dev/null

  7. /sbin/halt

/sbin/shutdown

  1. Выделить первый и седьмой столбец файла /etc/passwd в отдельные файлы. Для этого ввести команды cat /etc/passwd | cut -f1 -d: > users и cat /etc/passwd | cut -f7 -d: > shells:

  2. user@desktop test $ cat /etc/passwd | cut -f1 -d: > users

user@desktop test $ cat /etc/passwd | cut -f7 -d: > shells

  1. Объединить результаты с помощью команды paste users shells:

  2. user@desktop test $ paste users shells

  3. root /bin/bash

  4. bin /bin/false

  5. daemon /bin/false

  6. adm /bin/false

  7. lp /bin/false

  8. sync /bin/sync

...

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]