Etman (Easy Text Manipulator)
Описание
Etman — это простая и удобная альтернатива awk и sed, предназначенная для работы с текстом. Она обладает асинхронной природой и предоставляет богатый набор инструментов для редактирования текста и извлечения информации. Etman упрощает создание парсеров для различных форматов данных, таких как JSON, CSV, XML и другие.
Основные возможности
- Поддержка работы с различными форматами данных (JSON, CSV, XML, YAML и др.).
- Асинхронная обработка больших файлов.
- Богатый набор команд для редактирования текста.
- Гибкая система фильтрации и трансформации данных.
- Возможность использования конвейеров (pipelines).
- Удобный синтаксис для парсинга данных.
Пример использования
Предположим, у нас есть JSON-файл размером 100 МБ с сообщениями пользователей. Мы хотим извлечь имена всех отправителей.
Пример структуры JSON:
{
"messages": [
{
"sender": "sender",
"text": "text"
},
{
"sender": "sender 2",
"text": "text"
}
]
}С помощью Etman можно выполнить эту задачу одной командой:
cat messages.json | etman -e "json | query 'messages | [_] | sender' | unique"Разбор команды:
json— парсинг входных данных как JSON.query 'messages | [_] | sender'— извлечение всех значенийsenderиз массиваmessages.unique— удаление повторяющихся значений.
Дополнительные примеры
Замена всех вхождений слова “foo” на “bar” в текстовом файле
cat file.txt | etman -e "replace 'foo' 'bar'" > file.txtПодсчет количества строк в файле
cat file.txt | etman -e "lines | count"