26

У меня 7z 4.65 и я пытаюсь извлечь один файл в стандартный вывод. В справке по командной строке 7z указано -so - параметр командной строки для извлечения в стандартный вывод, но когда я пытаюсь это сделать:

>>> 7z e -so dist\dlogpkg.jar META-INF/MANIFEST.MF

7-Zip 4.65  Copyright (c) 1999-2009 Igor Pavlov  2009-02-03
Error:
I won't write data and program's messages to same terminal

Как я могу это исправить? Кажется, что нет параметра командной строки для подавления обычных сообщений 7z stdout.

(редактировать: эквивалентная операция в "распаковать" будет

unzip -p dist\dlogpkg.jar META-INF/MANIFEST.MF

который отлично работает Но я бы хотел использовать 7z по разным причинам.)

3 ответа3

15

передать его в другую программу, такую как

  • тройник
  • Меньше
  • Больше

я думаю, что tee подходит ближе всего к тому, что вы хотите, он отбрасывает материал 7z и просто дает вам контент.

% 7z e -so dist\dlogpkg.jar META-INF/MANIFEST.MF | tee
8

В Windows 7z x -so my_file.zip 2> NUL не работает, но помогает перенаправление в реальный файл:

7z x -so my_file.zip 2> _garbage.txt
6

Я также пытался понять это. Это дало мне то, что я хотел:

7z x -so my_file.zip 2> /dev/null

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .