-
Команда comm
Команда comm <имя файла 1> <имя файла 2> ищет одинаковые и разные строки в файлах, отсортированных в лексикографическом порядке: ААА, ААБ, ..) и в трех колонках выводит результат: в первой (1) — уникальные для первого файла строки, во второй (2) — для второго, в третьей (3) — одинаковые в обоих файлах. Номера необходимых колонок могут задаваться как флаги, если они не заданы, то показываются сразу все колонки.
Описание флагов функции comm в мануале не соответствует тому, что она делает с этими флагами. Методом подбора были найдены комбинации флагов, соответствующие указанным выше задачам:
-
строки, встречающиеся только в первом файле (-23, по мануалу -1)
-
строки, встречающиеся только во втором файле (-13, по мануалу -2)
-
строки, встречающиеся в обоих файлах (-12, по мануалу -3)
-
сама функция без флагов делает то, что описано в мануале
-
Команда diff
Команда diff <имя файла 1> <имя файла 2> определяет изменений в файлах, которые необходимо сделать, чтобы они стали идентичными. Продемонстрируем на файлах «1» и «2»:
В результате выполнения команды печатаются строки измененные (c), уничтоженные (d) и добавленные (a) во втором файле-аргументе по сравнению с первым. Знаки < и > означают соответственно удаление и добавление строк. Отображаются и номера строк: «1с1».
-
Метасимволы «*» и «?»
Метасимвол «*» указывает, что начиная с него часть имени может быть любой, в том числе из любого числа символов.
Метасимвол «?» означает любой один символ. Удалим наши файлы «1» и «2»:
-
Информационные команды
-
Команда date
-
Команда date выводит текущие дату и время в разнообразных форматах. С флагом «-u» выводит время UTC, что бывает очень удобно.
-
Команды who и tty
Команда who выводит информация о всех пользователях, работающих в системе с именами их терминалов.
Команда tty выводит имя терминала текущего пользователя:
-
Команда df
Команда df выводит информацию о файловых системах в блоках. Флаг «-h» указывает команде, что данные надо выводить в понятном человеку формате (Гигабайты, Мегабайты и т.п.):
-
Команда du
Команда du показывает использование места в текущем каталоге в блоках. Флаг «-h» позволяет посмотреть использование в понятном человеку формате. Флаг «-a» посмотреть использование места каждым элементом (файлом, каталогом) в текущей папке:
-
Команда file
Команда file определяет и выводит тип файла:
-
Команда ps
Команда ps выводит информацию о текущих процессах в системе. Флаг «-A» указывает на то, что нужно показать все процессы:
-
Обработка текстовых (структурированных) файлов
-
Вариант БД
-
Спортивная команда (ФИО спортсмена, возраст, рост, вид спорта).
Поиск по виду спорта.
Сортировка по возрасту.
-
Создание БД (внесение записей)
Внесем с помощью функции echo 6 записей в БД (файл base):
-
Поиск по виду спорта
Поиск реализуется командой grep <выражение> <имя файла>. Флаги:
|
-n |
перед каждой обнаруженной строкой печатается ее порядковый номер в файле; |
|
-v |
печатаются все строки, не содержащие шаблона; |
|
-y |
строчные буквы в шаблоне считаются совпадающими как со строчными, так и прописными в файле. |
Найдем записи с видом спорта «бобслей»:
