Power Bash

Jun 09, 2014 00:26


Прикинул нужность нововведений товарища Щуклина (amarao_san) по введению JSON в строку bash.

Если получится сделать несколько утилит, обменивающихся такими сообщениями, то может это даже будет выглядеть не так плохо.

Есть несколько вопросов к проекту:

1. как именовать ноды в JSON;

2. как поступать с программами, у которых иерархический вывод;

3. как парсить вывод программ с различными разделителями.

Последние 2 варианта сложны и нетривиальны. Далее их опустим.

Первый вариант применяется только к утилитам с выводом в виде таблицы. Его можно разрешить примерно следующим способом - задать имя и тип колонок. В случае с датой - стандарт расшифровки даты.

Для примера возьмем одну из стандартных утилит. Если формат вывода ls -la имеет следующий вид:

-rw-r--r--      1 root  root      66 апр.  17 08:13     .selected_editor
drwxr-xr-x   2 crast crast   4096 апр.   6 15:43    Templates
drwxrwxr-x  2 crast crast   4096 апр.  13 21:34   test_folder
-rwxrwxr-x   1 crast crast   53164 мая   18 08:38 thread
То в командной строке будет:

ls -la | power_bash --format "mod:s|links:i|group:s|user:s|size:i|date:dt|name:s"

На разбор с этим у меня не хватило терпения (1). Как вариант можно задавать входные значения и количество слов в каждом поле.

Новое дополнение с fold'ом можно разрулить с запуском программы как дочернего процесса и переводом ввода в нашу программу.
Previous post Next post
Up