
Семинар №3
Подготовка к лабораторной работе 2 продолжение.
Команда Sort используется для записи строк стандартного ввода и текстовых файлов в лексиграфическом порядке на основе кодов их символов. Без аргументов Sort возвращает строки стандартного ввода и выводит их в лексиграфическом порядке.
$ sort in.txt -0 out.txt – сортировка в файле in.txt и запись результата в файл out.txt
-f(fold) – позволяет не учитывать регистр букв
-i(ignore) – исключает сравнение отображаемых символов, которые имеют коды меньше (040)8 пробела и больше (0176)8 тильды(~)
-n(numeric) – используется для сортировки по арифметической величине, а не по лексиграфической
-r(reserve) – реверсирует порядок сортировки строк
-u(unique) – сжимает все одинаковые строки, которые будут расположены рядом после сортировки, в одну строку
-b(blank) – позволяет не учитывать при сравнении лидирующие символы пробела и табуляции
$ uniq Применяется для обработки заранее упорядоченного входного потока символьных строк и текстовых файлов. При вызове без аргумента читает стандартный ввод, исключает повторы идентичных соседних строк, все остальные строки переводит в стандартный вывод.
$ uniq in.txt out.txt
Stdin
uniq
uniq -n
Blue
Red Green
uniq -d Green |
Red Blue Green |
uniq -c

2 Red 1 Blue 2 Green
-u обеспечивает вывод только уникальных строк, исключая повторяющиеся
-d(duplicate) обеспечивает вывод только повторяющихся строк
-с дополняет режим умолчания числом повторений перед каждой строкой вывода
2 Red
1 Blue
2 green
Команда tail считает строки из стандартного ввода и в стандартный вывод отправляет число последних строк с заданным параметром –n, а число необходимых строк определяется позиционной переменной $2.
tee – позволяет сохранить промежуточный результат работы
tee file.txt читает строки стандартного ввода, передает в стандартный вывод и подготавливает его в отдельном файле.
$ls -l tee file.txt |
stdin
stdout Результат идет
в файл до необходимого места
а также в стандартный вывод.
file.txt
Файл регистрации passwd.
username:*: useid:groupid:comment:Homedir:shell
Найдем пользователей, использующих /bin/bash или /bin/sh
$egrep -i ‘^[A-Z]{3}’ игнорирует различие заглавных и строчных символов.
$egrep -v отображает строки, которые не соответствуют образцу.
$egrep -w позволяет искать только целые слова из букв и цифр, соответствующих образцу.
$egrep -o позволяет показывать только часть строки, соответсвующих образцу
$grep -ow ‘^[a-z0-9]*’ /etc/passwd