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

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

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

7

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

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

1
Setara Windows 7z x -so my_file.zip 2> NULtidak berfungsi: entah bagaimana juga mengarahkan data ke nol.
ansgri
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.