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

  • Apple

    Apple

    22 HAZİRAN 2005
  • talkandroid

    talkandroid

    27 Mayıs 2010
  • TheJoeycool2010

    TheJoeycool2

    12 Temmuz 2010