Запишите всю команду во временный файл и выполните ее.
Это позволит вам построить команду из нескольких операторов, если вы захотите, что сделает ее более читабельной.
Или лучше запустить первую команду в читаемом канале.Анализируйте данные самостоятельно, а не обрабатывайте их в конвейере bash до tr
и sed
, оба из которых довольно слабы по сравнению с Perl.Затем направьте вывод через доступный для записи popen.
Может быть, вы могли бы даже найти модуль, который позволил бы вам обрабатывать то, что делает xxd
, так что вам это вообще не нужно.Может быть Данные :: HexDump :: XXD ?
(не смотрел подробно, просто пытался бросить быстрое, надеюсь, полезное преимущество.)