7zip: bagaimana cara mengekstrak ke std output?

28

Saya memiliki 7z 4,65 dan saya mencoba untuk mengekstrak satu file ke output standar. Bantuan baris perintah 7z mengatakan -soadalah parameter baris perintah untuk mengekstrak ke output standar, tetapi ketika saya mencoba ini:

>>> 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

bagaimana saya bisa memperbaikinya? Tampaknya tidak ada param baris perintah untuk menekan pesan stdout 7z normal.

(sunting: operasi yang setara di "unzip" adalah

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

yang bekerja dengan baik. Tapi saya ingin menggunakan 7z karena berbagai alasan.)

Jason S
sumber

Jawaban:

17

pipa itu ke program lain seperti

  • tee
  • kurang
  • lebih

Saya pikir teedatang paling dekat dengan apa yang Anda inginkan, itu menjatuhkan barang-barang 7z dan hanya memberi Anda konten.

% 7z e -so dist\dlogpkg.jar META-INF/MANIFEST.MF | tee
akira
sumber
Adakah alasan tertentu mengapa Anda berpikir teelebih baik dalam situasi ini daripada less?
Andy
Aneh. "kurang" dan "tee" melakukan apa yang saya harapkan, tetapi "lebih" meninggalkan pada hal-hal 7z .... aneh! mengapa ini dilakukan?
Jason S
@Andy: "tee" bahkan kurang dari "kurang" .. tidak ada bergulir kembali dll. Itu hanya membiarkan byte melalui dan bukan hal yang lebih.
akira
@ Akira mungkin dia ingin menyalurkan output ke program lain
beppe9000
@Andy: mengapa OP ingin pipa ke stdout tidak pernah menjadi pertanyaan.
akira
8

Di Windows, 7z x -so my_file.zip 2> NULtidak berfungsi, tetapi pengalihan ke file nyata membantu:

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

Saya juga mencoba mencari tahu ini. Ini membuat saya mendapatkan apa yang saya inginkan:

7z x -so my_file.zip 2> /dev/null
Jeremy Miller
sumber
1
Setara Windows 7z x -so my_file.zip 2> NULtidak berfungsi: entah bagaimana juga mengarahkan data ke nol.
ansgri