7zip: как извлечь в стандартный вывод?


28

У меня 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 по разным причинам.)

Ответы:


17

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

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

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

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

Есть ли какая-то конкретная причина, почему вы думаете, что teeлучше в этой ситуации, чем less?
Энди

Странный. "less" и "tee" делают то, что я ожидаю, но "more" оставляет в 7z материал .... странно! почему он это делает?
Джейсон С

@Andy: "tee" делает даже меньше, чем "less" ... без прокрутки назад и т. Д., Он просто пропускает байты и ничего больше.
Акира

@akira, может быть, он хотел передать вывод в другую программу
beppe9000

@Andy: почему OP не хотел, чтобы труба к stdout никогда не была вопросом.
Акира

8

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

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

7

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

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

1
Эквивалент Windows 7z x -so my_file.zip 2> NULне работает: как-то также перенаправляет данные на ноль.
Ансгри
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.