Представителям ряда профессий по роду своей деятельности часто приходится заниматься анализом данных. Многие привыкли выполнять эту работу в графической среде, однако Джейсон Бейкер из Red Hat считает, что для решения некоторых задач значительно удобней использовать обычные консольные команды Linux.
При этом от пользователя не требуется быть специалистом по программированию. Ему даже не понадобиться чрезмерно напрягать собственную память. В опубликованной на сайте OpenSource.com статье он приводит небольшой перечень команд, предназначенных для анализа информации.
Команды head и tail предназначены для показа определённого количества строк из верхней или нижней части файла. По умолчанию выводится 10 строк, но это значение можно изменить в параметрах.
В частности, можно вывести на экран только строки с датой документа, именем автора и названием. Главное, чтобы документы составлялись согласно каким-то единым правилам.
Разумеется, эти команды можно включать в состав сложных скриптов для составления больших отчётов по документообороту за какой-либо период. При этом работа будет практически полностью автоматизирована.
Простая команда wc позволит узнать число строк, байтов или символов в файле. Она также поможет автоматизировать составление отчётов.
Например, если есть список документов, в котором каждая строка содержит название каждого документа, то пользователь может быстро узнать их общее количество. При этом ему даже не потребуется открывать файл.
Чрезвычайно полезная команда grep позволяет выполнять поиск по заданному шаблону в текстовых файлах или стандартном потоке вывода. Она очень часто используется на практике для нахождения нужной информации.
Например, среди большого количества документов пользователю требуется найти все, в которых речь идёт о безопасности. Благодаря команде grep и соответственному регулярному выражению это можно сделать очень быстро.
Если же пользователю необходимо просто узнать количество документов, в которых упоминаются вопросы безопасности, то grep в сочетании с wc позволит сразу получить готовый ответ. И снова без необходимости запуска приложений с графическим интерфейсом.
Команда tr предназначена для замены символов одного набора в символы другого набора. Её целесообразно использовать для преобразования файла, чтобы с ним могло работать какое-либо приложение, настроенное на определённый формат документа.
Например, пользователь получил файл, в котором в качестве разделителя используются запятые и ему надо преобразовать его для обработки программой, где разделитель — табуляция. Команда tr выполнит замену в автоматическом режиме.
Назначение команды sort ясно из её названия — сортировка текста из одного или нескольких файлов. Несмотря на кажущуюся простоту, благодаря большому числу опций её можно применять для решения достаточно сложных задач.
В частности при помощи команды sort можно узнать, какой из полученных документов самый длинный. А применив к результату команду head сразу получить его название.
Команда sed — инструмент для редактирования текстов в неинтерактивном режиме. Пользоваться этой программой относительно сложно, поскольку предполагается, что пользователь точно знает, что именно следует сделать и способен это знание формализовать.
Впрочем, команда sed успешно применяется даже начинающими пользователями для выполнения некоторых несложных операций. Например, для замены блока текста по заранее составленному образцу.
Команда cut может выбрать из каждой строки файла какую-либо часть в соответствии с заданным правилом и вывести результат на экран. При этом в правилах могут применять байты, символы и элементы форматирования.
Например, при помощи cut можно быстро посмотреть имена вторых авторов каждого документа из составленного определённым образом списка. Открывать файл при этом, конечно, не нужно.
Эта команда uniq поможет найти уникальные или, наоборот, повторяющиеся строки в файле. В сочетании с другими командами она позволяет решать относительно сложные задачи.
Например, узнать, сколько документов подготовил каждый сотрудник. Или найти тройку авторов, производительность которых была максимальной.
Awk — это не просто команда. Это самый настоящий язык программирования, предназначенный для извлечения требуемых данных. С его помощью пользователь может решать очень сложные задачи.
Например, awk применяется для того, чтобы составить список авторов всех анализируемых документов и определить, сколько слов написал каждый из них. Для этого потребуется всего одна команда.