2014-12-09 3 views
4

У меня есть собственный двоичный файл, который упрямо принимает два файла в качестве аргумента, сначала как входные, так и второй как выходные. Я хотел быПереадресация двоичного вывода из вывода файла в stdout

  1. построить первый аргумент без создания временного файла
  2. сделать бинарную запись в стандартный вывод вместо выходного файла (второй аргумент)

Я решил первый вопрос с <(...), но не уверен в отношении второго аргумента.

Я написал следующий скрипт, который выглядит, как делает все, как и ожидался:

FILE1=$1 
FILE2=$2 

# checking that the files exist and other stuff 

mkfifo myfifo 

ThatBinary <(...) myfifo & 

cat myfifo 

Первый аргументом для двоичного является комбинированной командой Bash, которая строит первый `` файл «». Второй аргумент - это именованный канал, в который должен записываться двоичный файл. Все это отправляется на задний план с момента написания блоков fifo. Наконец, я печатаю вывод именованного канала на stdout, если это необходимо.

Возможно ли улучшить эту команду? Любые скрытые оговорки? Я работаю с очень большими файлами (сотни тысяч текстовых строк), и мне бы очень хотелось, чтобы я ничего не пропустил.

ответ

3
ThatBinary <(...) /dev/stdout 
+0

Конечно, это просто! –

+0

Как ни странно, я не могу перенаправить сценарий сценария в файл. Сообщение об ошибке читается '' IOError: [Errno 20] Не каталог: '/ dev/stdout' '' –

Смежные вопросы