Для работы с данными в Linux используется множество разных инструментов: одни автоматизируют работу пользователя, другие дополняют функционал и упрощают взаимодействие с ОС. Одной из таких является cat, основная функция которой это конкатенация или объединение потоков ввода и вывода в единый. В данном материале рассмотрим подробно все возможные кейсы применения этой утилиты!
Что такое утилита cat?
Cat или дословно concatenate – утилита в Linux подобных системах, позволяющая объединить потоки ввода и вывода направленные в утилиту. Как результат работы суммированные потоки можно вывести в один и направить уже в другое ПО пайплайном, записать в файл или вывести на экран.
Стандартное применение утилиты – это вывод содержимого файлов. К примеру просмотрим, что лежит в файле gg.txt:
Когда вы вызываете утилиту, команда читает содержимое gg.txt и отправляет его на стандартный вывод (stdout), который обычно связан с терминалом, в следствие чего текст появляется на экране. Но что если необходимо вывести данные сразу из двух файлов. Для этого можем перечислить пути к файлам через пробел или указать файл через пайплайн. К примеру:
Или аналогичная команда выше описанной:
В данном случаем, утилита предварительно считывает данные с двух файлов и объединяет их в один, где потом уже передает на стандартный поток вывода. Данная функция полезна, при работе с большим массивом данных, который необходимо отформатировать, либо же фильтровать. К примеру, можно передать объединенные данные, а после фильтровать их через передачу по pipeline утилите grep:
Файлы были суммированы и отфильтрованы в соответствии с заданным правилом, после чего выведена строка, содержащая паттерн. Такой прием обработки можно использовать, при анализе большого объема данных, к примеру, поиска значений в лог-файлах.
При нехватке собственных мощностей можно воспользоваться облачными серверами от Serverspace, для этого перейдем к созданию сервера, на любой из двух платформ vStack cloud или же VMware cloud. Нажмем на кнопку Создать сервер и выберем конфигурацию, подходящую под наши задачи, затем нажмем кнопку Создать:
Рассмотрим еще один интересный прием, который поможет в работе с данными. К примеру, у нас есть массив данных, которые необходимо отсортировать и оставить только уникальные значения, удалив дубликаты. В Excel задача решается длительными манипуляциями, а в Linux 1 строкой команд:
Первая команда cat объединит существующие файлы в один, передаст на управление данные в утилиту cut. Она в свою очередь отфильтрует данные и оставит только первый столбец -f1 с доменными именами и удалит дубликаты -d, так же кастомно указан разделитель “,“. После отфильтрованные данные получит утилита sort, которая отсортирует их и запишет в файл new_data.txt.
Утилита может использоваться для построения различных цепочек обработки данных через pipeline и является неотъемлемым механизмом Linux.