7zip: std çıktısına nasıl ayıklanır?


28

Ben 7z 4.65 var ve tek bir dosyayı standart çıktıya çıkarmaya çalışıyorum. 7z komut satırı yardımı, -sostandart çıktıya çıkarılacak komut satırı parametresi olduğunu söylüyor , ancak şunu denediğimde:

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

bunu nasıl düzeltebilirim? Normal 7z stdout mesajlarını bastırmak için bir komut satırı parametresi görünmüyor.

(düzenleme: "unzip" içindeki eşdeğer işlem

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

hangisi iyi çalışıyor. Ancak 7z'yi çeşitli nedenlerle kullanmak istiyorum.

Yanıtlar:


17

başka bir programa aktarın

  • t şeklinde
  • az
  • Daha

bence teeistediğine en yakın olanı, 7z'yi düşürür ve sana sadece içeriği verir.

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

Özellikle teebu durumda daha iyi olduğunu düşündüğünüz bir neden var lessmı?
Andy,

Garip. "daha az" ve "tişört" beklediğim şeyi yapar, ancak "daha fazla" 7z şeyde bırakır .... tuhaf! Bunu neden yapar?
Jason S

@Andy: "tee", "daha az" dan bile daha azını yapar .. geri kaydırma yapılmaz, vb.
akira

@akira belki çıktıları başka bir programa
taşımak

@Andy: OP neden stdout'a yönelmek istedi, asla bir soru olmadı.
akira

8

Windows'ta 7z x -so my_file.zip 2> NULçalışmıyor, ancak gerçek bir dosyaya yönlendirme yardımcı olur:

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

7

Ben de bunu anlamaya çalışıyordum. Bu istediğimi elde etti:

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

1
Windows eşdeğeri 7z x -so my_file.zip 2> NULçalışmıyor: bir şekilde verileri null değerine de yönlendiriyor.
ansgri
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.