У меня есть собственный двоичный файл, который упрямо принимает два файла в качестве аргумента, сначала как входные, так и второй как выходные. Я хотел быПереадресация двоичного вывода из вывода файла в stdout
- построить первый аргумент без создания временного файла
- сделать бинарную запись в стандартный вывод вместо выходного файла (второй аргумент)
Я решил первый вопрос с <(...)
, но не уверен в отношении второго аргумента.
Я написал следующий скрипт, который выглядит, как делает все, как и ожидался:
FILE1=$1
FILE2=$2
# checking that the files exist and other stuff
mkfifo myfifo
ThatBinary <(...) myfifo &
cat myfifo
Первый аргументом для двоичного является комбинированной командой Bash, которая строит первый `` файл «». Второй аргумент - это именованный канал, в который должен записываться двоичный файл. Все это отправляется на задний план с момента написания блоков fifo. Наконец, я печатаю вывод именованного канала на stdout, если это необходимо.
Возможно ли улучшить эту команду? Любые скрытые оговорки? Я работаю с очень большими файлами (сотни тысяч текстовых строк), и мне бы очень хотелось, чтобы я ничего не пропустил.
Конечно, это просто! –
Как ни странно, я не могу перенаправить сценарий сценария в файл. Сообщение об ошибке читается '' IOError: [Errno 20] Не каталог: '/ dev/stdout' '' –