SORU
15 EYLÜL 2009, Salı


Shell/Command STDOUT inci hat almak için Bash

Sen STDOUT inci hat almak sağlayacak herhangi bir bash komut var mı?

Yani, bu alacağını bir şey

$ ls -l
-rw-r--r--@ 1 root  wheel my.txt
-rw-r--r--@ 1 root  wheel files.txt
-rw-r--r--@ 1 root  wheel here.txt

ve böyle bir şey yapmak

$ ls -l | magic-command 2
-rw-r--r--@ 1 root  wheel files.txt

Farkındayım bunun kötü bir uygulama yazarken komut olması gerektiği gibi, yeniden, AMA ne zaman çalışma ile kabuk her geçen gün olacak kullanışlı beni edebilmek için filtre benim STDOUT böyle bir şekilde.

Ben de bu yarı-önemsiz yazmak için komut tamponu (STDOUT, belirli bir hat dönüş) olacağı, ama eğer bazı varsa bilmek istiyorumstandartkomut bensiz bir yere bir script bırakarak kullanılabilir olacak bunu yapmak için kabuk.

CEVAP
15 EYLÜL 2009, Salı


sed, sadece çeşitli kullanarak:

ls -l | sed -n 2p

Kullanarak bu alternatif, daha verimli görünüyor beri durur okumaya giriş yaparken gerekli çizgi baskılı, Mayıs üretmek bir SİGPİPE beslenme süreci, bir devre oluşturmak istenmeyen bir hata iletisi:

ls -l | sed -n -e '2{p;q}'

ls SİGPİPE bu ayaklanmaz bu bir komut değil ama ben genelde ilk, zaten yazın daha kolay olan) kullanan yeterince sık gördüm.

Satır: bir dizi için

ls -l | sed -n 2,4p

Çizgiler: birkaç aralıkları için

ls -l | sed -n -e 2,4p -e 20,30p
ls -l | sed -n -e '2,4p;20,30p'

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DorkmanScott

    DorkmanScott

    14 NİSAN 2006
  • expertvillage

    expertvillag

    5 NİSAN 2006
  • fouseyTUBE

    fouseyTUBE

    21 Mart 2011