7zip: як витягти STD-вихід?


27

У мене 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

як я можу це виправити? Здається, парам командного рядка для придушення нормальних повідомлень 7d stdout.

(редагувати: еквівалентна операція в "unzip" була б

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

що чудово працює. Але я хотів би використовувати 7z з різних причин.)

Відповіді:


16

передайте його іншій програмі, такі як

  • трійник
  • менше
  • більше

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

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

Чи є якась причина, чому ви вважаєте tee, що в цій ситуації краще, ніж less?
Енді

Незвичайно. "менше" і "трійник" роблять те, що я очікую, але "більше" залишає в 7z речі .... химерні! чому це робить?
Jason S

@Andy: "tee" робить навіть менше, ніж "менше" .. немає прокрутки назад і т. Д. Це просто пропускає байти, а не більше.
акіра

@akira, можливо, він хотів передати вихід на іншу програму
beppe9000

@Andy: чому ОП хотіла підключитися до stdout, ніколи не було питанням.
akira

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не працює: якось також перенаправляє дані до нуля.
ansgri
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.