Как изменить разделитель полей команды ps

Команда ps имеет множество ключей один из которых позволяет определить свой разделитель полей, если требуется распарсить поля содержащие пробелы (например аргументы командной строки процессов)

ps -eo "%p\t%a"

Для того чтобы вставить табуляцию в качестве разделителя нужно либо воспользоваться sed для замены \t на табуляцию или воспользоваться echo -e но удобнее немного изменить строку исползуя хак:

ps -eo "%p"$'\011'"%a"

В использовании команды есть одна непонятная особенность: чтобы аргумент %a вывел полные параметры, а не обрезал их по ширине, он должен быть использован в самом конце форматной строки. Если после него встретится хотя бы один символ включая пробел то ширина поля args будет ограничена. Поле будет обрезано. Мне не удалось заставить вывести полный аргумент никакими перенаправлениями в pipe или переменными COLUMNS как это описано в документации.

ОБЫЧНЫЕ AIX коды описаны ниже.

       CODE   NORMAL   HEADER
       %C     pcpu     %CPU
       %G     group    GROUP
       %P     ppid     PPID
       %U     user     USER
       %a     args     COMMAND
       %c     comm     COMMAND
       %g     rgroup   RGROUP
       %n     nice     NI
       %p     pid      PID
       %r     pgid     PGID
       %t     etime    ELAPSED
       %u     ruser    RUSER
       %x     time     TIME
       %y     tty      TTY
       %z     vsz      VSZ